From aad93da1a579b9ae23ede6b9cf8523360f0a08b4 Mon Sep 17 00:00:00 2001 From: jakub Date: Sun, 1 Jan 2017 12:07:43 +0000 Subject: Update copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243994 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog-2016 | 9929 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 9929 insertions(+) create mode 100644 libstdc++-v3/ChangeLog-2016 (limited to 'libstdc++-v3/ChangeLog-2016') diff --git a/libstdc++-v3/ChangeLog-2016 b/libstdc++-v3/ChangeLog-2016 new file mode 100644 index 000000000000..34ca95a846ea --- /dev/null +++ b/libstdc++-v3/ChangeLog-2016 @@ -0,0 +1,9929 @@ +2016-12-29 Ville Voutilainen + + Implement LWG 2842, in_place_t check for optional::optional(U&&) + should decay U. + * include/std/optional (_Optional_base(in_place_t, _Args&&...)): + Constrain. + (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): + Turn the int-pack constraint hack into a saner bool. + (_Optional_base<_Tp, false>::_Optional_base(in_place_t, _Args&&...)): + Constrain. + (_Optional_base<_Tp, false>::_Optional_base(in_place_t, + initializer_list<_Up>, _Args&&...)): + Turn the int-pack constraint hack into a saner bool. + (optional(_Up&&)): Constrain against in_place_t. + (optional(in_place_t, _Args&&...)): Constrain. + (constexpr optional(in_place_t, initializer_list<_Up>, _Args&&...)): + Turn the int-pack constraint hack into a saner bool. + * testsuite/20_util/optional/cons/value_neg.cc: Add a test for + a type that is constructible from in_place. + +2016-12-24 François Dumont + + * include/ext/random.tcc: Fix usage of _OutputIteratorConcept. + +2016-12-21 Jason Merrill + + * testsuite/util/testsuite_tr1.h (test_property): Don't define both + variadic and non-variadic overloads. + +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. + +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. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. + +2016-12-16 Jonathan Wakely + + * include/bits/stl_map.h (map::erase(iterator)): Add Doxygen markup + to reuse documentation for erase(const_iterator) overload. + * include/bits/stl_multimap.h (multimap::erase(iterator)): Likewise. + + * include/bits/stl_tree.h (_Rb_tree::_M_erase_aux(const_iterator)): + Add assertion for undefined argument. + (_Rb_tree::_M_erase_aux(const_iterator, const_iterator)): Call + _M_erase_aux directly instead of through erase. + (_Rb_tree::_M_erase_aux(const Key&)): Likewise. + * testsuite/23_containers/map/modifiers/erase/end_neg.cc: New test. + +2016-12-16 Ville Voutilainen + + Implement LWG 2769, Redundant const in the return type of + any_cast(const any&). + * include/std/any (_AnyCast): New. + (any_cast(const any&)): Use it and add an explicit cast for return. + (any_cast(any&)): Likewise. + (any_cast(any&&)): Likewise. + * testsuite/20_util/any/misc/any_cast.cc: Add a test for a type + that has an explicit copy constructor. + * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. + +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. + + 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. + + * python/libstdcxx/v6/printers.py (UniquePointerPrinter.to_string): + Remove redundant parentheses. + (RbtreeIterator, StdRbtreeIteratorPrinter): Add docstrings. + (StdForwardListPrinter.to_string): Remove redundant parentheses. + (StdExpOptionalPrinter.to_string): Use string formatting instead of + concatenation. + (StdVariantPrinter.to_string, StdNodeHandlePrinter.to_string) + (TemplateTypePrinter): Adjust whitespace. + + * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use + correct element type for unique_ptr. + (UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New + functions to disable unsupported operators for unique_ptr. + (UniquePtrSubscriptWorker): New worker for operator[]. + (UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker. + (UniquePtrMethodsMatcher.match): Call _supports on the chosen worker. + (SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker) + (SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers. + (SharedPtrMethodsMatcher): New matcher for shared_ptr. + (register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher. + * testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays. + * testsuite/libstdc++-xmethods/shared_ptr.cc: New test. + +2016-12-14 François Dumont + + * include/bits/stl_tree.h + (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore + before C++11 mode. + +2016-12-14 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (num_elements): New function. + (StdMapPrinter.to_string, StdSetPrinter.to_string) + (StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string) + (Tr1UnorderedMapPrinter.to_string): Use num_elements. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results + to use singular noun when there is only one element. + * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. + * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. + * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. + * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. + * testsuite/libstdc++-prettyprinters/tr1.cc: Likewise. + + PR libstdc++/59170 + * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter): Use + _M_sequence and _M_version to detect invalid iterators. + * testsuite/libstdc++-prettyprinters/debug.cc: Test debug mode vector + and test invalid iterators. + * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: New test. + +2016-12-12 Kyrylo Tkachov + + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + XFAIL run if newlib_broken_long_double_io. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: + Likewise. + +2016-12-12 Jonathan Wakely + + * testsuite/experimental/filesystem/operations/is_empty.cc: + Remove stray character at end of dg-do directive. + + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Remove stray character at end of dg-do directive. + +2016-12-09 Jonathan Wakely + + * include/std/variant: Remove misplaced + _GLIBCXX_BEGIN_NAMESPACE_VERSION macro. + +2016-12-08 David Edelsohn + + * testsuite/25_algorithms/headers/algorithm/ + parallel_algorithm_assert2.cc: Move dg-do run first. + +2016-12-08 Eric Botcazou + + PR libstdc++/78264 + * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE. + (_GLIBCXX_NOEXCEPT_QUAL): Likewise. + +2016-12-08 Jonathan Wakely + + * testsuite/experimental/filesystem/path/construct/range.cc: Don't + use basic_string::front() when string might be empty. + + * include/debug/array (swap): Add deleted overload. + * include/bits/stl_pair.h (swap): Remove redundant inline keyword + from deleted overload. + * include/bits/unique_ptr.h (swap): Likewise. + * include/std/array (swap): Likewise. + * include/std/optional (swap): Likewise. + * include/std/tuple (swap): Likewise. + * include/std/variant (swap): Likewise. + * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: + Adjust dg-error line numbers. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/ + tuple_element_debug_neg.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: + Likewise. + + PR libstdc++/71856 + * doc/xml/manual/using.xml: Document macro. + * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL] + (__glibcxx_assert): Rename to __glibcxx_assert_impl. + [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl. + * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS] + (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl. + [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as + empty. + * testsuite/25_algorithms/headers/algorithm/ + parallel_algorithm_assert2.cc: New test. + +2016-12-08 Jakub Jelinek + + * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. + (operator new): Use THROW macro. + +2016-12-07 François Dumont + + * include/bits/stl_tree.h + (_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete. + (_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New. + (_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter. + (_Rb_tree<>(const _Rb_tree&): Use latter. + (_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise. + (_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise. + (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise. + (_Rb_tree<>::operator=(const _Rb_tree&)): Likewise. + + * include/bits/stl_map.h (map(const map&)): Make default. + (map(map&&)): Likewise. + (~map()): Likewise. + (operator=(const map&)): Likewise. + * include/bits/stl_multimap.h (multimap(const multimap&)): Make default. + (multimap(multimap&&)): Likewise. + (~multimap()): Likewise. + (operator=(const multimap&)): Likewise. + * include/bits/stl_set.h (set(const set&)): Make default. + (set(set&&)): Likewise. + (~set()): Likewise. + (operator=(const set&)): Likewise. + * include/bits/stl_multiset.h (multiset(const multiset&)): Make default. + (multiset(multiset&&)): Likewise. + (~multiset()): Likewise. + (operator=(const multiset&)): Likewise. + * include/bits/stl_tree.h (_Rb_tree_key_compare<>): New. + (_Rb_tree_header): New. + (_Rb_tree_impl): Inherit from latters. + (_Rb_tree_impl()): Make default. + (_Rb_tree_impl(const _Rb_tree_impl&)): New. + (_Rb_tree<>(const _Rb_tree&): Use latter. + (_Rb_tree_impl(_Rb_tree_impl&&)): New, default. + (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&)): Delete. + (_Rb_tree_impl::_M_reset): Move... + (_Rb_tree_header::_M_reset): ...here. + (_Rb_tree_impl::_M_initialize): Delete. + (_Rb_tree(_Rb_tree&&)): Make default. + (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): New. + (_Rb_tree<>::_M_move_data(_Rb_tree&, true_type)): Use latter. + (_Rb_tree<>(_Rb_tree&&)): Make default. + +2016-12-07 Jonathan Wakely + + * include/experimental/bits/fs_path.h (path::_S_convert): Replace + uses of C++14 std::remove_cv_t alias template. + + * testsuite/28_regex/traits/char/user_defined.cc: Replace uses of + C++14 std::exchange function. + + * testsuite/util/testsuite_hooks.h (THROW): Define. + * testsuite/util/replacement_memory_operators.h: Include + testsuite_hooks.h and use THROW macro. + * testsuite/util/testsuite_tr1.h: Likewise. + * testsuite/20_util/allocator/1.cc: Use THROW macro. + * testsuite/22_locale/locale/cons/12352.cc: Likewise. + * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise. + * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception + specification with noexcept-specifier. + * testsuite/ext/pool_allocator/allocate_chunk.cc: Include + testsuite_hooks.h and use THROW macro. + * testsuite/ext/profile/replace_new.cc: Likewise. + + * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool) + (bitmap_allocator::_M_allocate_single_object) + (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro. + + * testsuite/18_support/bad_exception/59392.cc: Disable for C++17. + + * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17 + declarations. + * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test. + +2016-12-06 Felipe Magno de Almeida + + * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers. + + * crossconfig.m4: Add avr target for cross-compilation. + * configure: Regenerate. + +2016-12-06 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new + data member name. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test. + + * include/bits/shared_ptr_base.h + (__shared_ptr_access::operator->()): Fix assertion. + +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 Tim Shen + + * include/std/variant (visit): Make visit constexpr. Also cleanup + __get_alternative and __storage, since we don't support reference/void + alternatives any more. + * testsuite/20_util/variant/compile.cc: Add tests. + +2016-12-06 Tim Shen + + * include/bits/enable_special_members.h: Make + _Enable_default_constructor constexpr. + * include/std/variant (variant::emplace, variant::swap, std::swap, + std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases + of duplicated types. + +2016-12-06 Tim Shen + + * include/std/variant (std::get, operator==): Implement constexpr + comparison and get<>. + * testsuite/20_util/variant/compile.cc: Tests. + +2016-12-06 Tim Shen + + * include/std/variant (__erased_use_alloc_ctor, + _Variant_base::_Variant_base, variant::variant): Remove uses-allocator + related functions. + * testsuite/20_util/variant/compile.cc: Remove related tests. + * testsuite/20_util/variant/run.cc: Remove related tests. + +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-06 Jonathan Wakely + + * include/bits/basic_string.h (basic_string::find, basic_string::rfind) + (basic_string::find_first_of, basic_string::find_last_of) + (basic_string::find_first_not_of, basic_string::find_last_not_of): + Make all overloads noexcept. + (basic_string::compare(const _CharT*)): Make noexcept. + +2016-12-03 John David Anglin + + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate. + +2016-12-01 David Edelsohn + + * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX. + +2016-12-01 Ville Voutilainen + + Implement LWG 2766, + Swapping non-swappable types and LWG 2749, + swappable traits for variants. + * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain + with __is_tuple_like. + * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)): + Add a deleted overload. + * include/bits/unique_ptr.h + (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise. + * include/std/array + (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise. + * include/std/optional + (swap(optional<_Tp>&, optional<_Tp>&)): Likewise. + * include/std/tuple (__is_tuple_like_impl, __is_tuple_like): + Move to type_traits. + (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted + overload. + * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like): + New. + (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like. + * include/std/utility (__is_tuple_like_impl): Move to type_traits. + * include/std/variant + (swap(variant<_Types...>&, variant<_Types...>&)): + Add a deleted overload. + * testsuite/20_util/optional/swap/2.cc: Add tests for disabled + swaps. + * testsuite/20_util/pair/swap_cxx17.cc: New. + * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: + Likewise. + * testsuite/20_util/variant/compile.cc: Add tests for disabled + swaps. + * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: + New. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust. + * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: + Likewise. + +2016-12-01 Ville Voutilainen + + The convertible_to traits need to use a variadic catch-all for the + false-cases. + * include/std/istream (__is_convertible_to_basic_istream): + Change the parameter of the false-case of __check to a variadic. + * include/std/ostream (__is_convertible_to_basic_ostream): + Likewise. + +2016-12-01 Bernd Edlinger + + * crossconfig.m4 (*-linux*): Add link-check for memalign. + * configure: Regenerated. + +2016-12-01 Tim Shen + + PR libstdc++/71500 + * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript + when the syntax is not specified. + * include/bits/regex_compiler.h (_RegexTranslator, + _RegexTranslatorBase): Partially support icase in ranges. + * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply): + Refactor _M_apply to make the control flow easier to follow, and + call _M_translator._M_match_range as added previously. + * testsuite/28_regex/traits/char/icase.cc: Add new tests. + * testsuite/28_regex/traits/char/user_defined.cc: Add new tests. + +2016-11-30 Ville Voutilainen + + Fix testsuite failures caused by the patch implementing LWG 2534. + * include/std/istream (__is_convertible_to_basic_istream): + Change the return types of __check, introduce istream_type. + (operator>>(_Istream&&, _Tp&&)): + Use __is_convertible_to_basic_istream::istream_type as the return type. + * include/std/ostream (__is_convertible_to_basic_ostream): + Change the return types of __check, introduce ostream_type. + (operator>>(_Ostream&&, _Tp&&)): + Use __is_convertible_to_basic_ostream::ostream_type as the return type. + +2016-11-30 Tim Shen + + * include/bits/shared_ptr_base.h + (__shared_ptr_access::operator*()): Fix assertion. + +2016-11-30 David Edelsohn + + * testsuite/18_support/50594.cc: XFAIL on AIX. + * testsuite/ext/mt_allocator/check_new.cc: Same. + * testsuite/ext/pool_allocator/check_new.cc: Same. + * testsuite/27_io/ios_base/storage/11584.cc: Same. + +2016-11-30 Ville Voutilainen + + Implement LWG 2534, Constrain rvalue stream operators. + * include/std/istream (__is_convertible_to_basic_istream): New. + (__is_extractable): Likewise. + (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)): + Turn the stream parameter into a template parameter + and constrain. + * include/std/ostream (__is_convertible_to_basic_ostream): New. + (__is_insertable): Likewise. + (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)): + Turn the stream parameter into a template parameter + and constrain. + * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise. + +2016-11-30 Christophe Lyon + + * testsuite/experimental/type_erased_allocator/2.cc: Add + dg-require-thread-fence. + +2016-11-29 David Edelsohn + + PR libstdc++/68838 + * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on + AIX. + * testsuite/23_containers/vector/profile/vector.cc: Remove + dg-additional-options. + +2016-11-26 Tim Shen + + PR libstdc++/78441 + * include/std/variant: Propagate cv qualifications to types returned + by variant_alternative. + * testsuite/20_util/variant/compile.cc: Tests. + +2016-11-23 Felix Morgner + Jonathan Wakely + + PR libstdc++/78490 + * include/experimental/propagate_const (propagate_const::operator=): + Add missing return statements. + * testsuite/experimental/propagate_const/assignment/move_neg.cc: + Adjust dg-error line numbers. + * testsuite/experimental/propagate_const/requirements2.cc: Likewise. + +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-22 Jonathan Wakely + + PR libstdc++/78465 + * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests + with preprocessor conditions. + +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-15 Jonathan Wakely + + PR libstdc++/59406 + * include/bits/functional_hash.h: Add comment noting difference from + FNV-1a. + * include/tr1/functional_hash.h: Likewise. + * libsupc++/hash_bytes.cc: Likewise. + + * include/bits/basic_string.h: Reuse _If_sv alias template for new + constructor. + + * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries + for 2742 and 2748. + * doc/html/*: Regenerate. + * include/std/utility (__tuple_size_cv_impl): New helper to safely + detect tuple_size::value, as per LWG 2770. + (tuple_size): Adjust partial specializations to derive from + __tuple_size_cv_impl. + * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness. + + * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for + variant. + +2016-11-15 Tim Shen + + * include/std/variant: Remove variant, variant, variant<> + support to rebase on the post-Issaquah design. + * testsuite/20_util/variant/compile.cc: Likewise. + +2016-11-15 Matthias Klose + + * configure: Regenerate. + +2016-11-15 Jonathan Wakely + + * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license + text. + * testsuite/20_util/any/assign/emplace.cc: Likewise. + * testsuite/20_util/any/cons/in_place.cc: Likewise. + * testsuite/20_util/any/make_any.cc: Likewise. + * testsuite/20_util/any/requirements.cc: Likewise. + * testsuite/20_util/any/typedefs.cc: Likewise. + * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. + * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: + Likewise. + * testsuite/20_util/in_place/requirements.cc: Likewise. + * testsuite/20_util/optional/77288.cc: Likewise. + * testsuite/20_util/optional/assignment/1.cc: Likewise. + * testsuite/20_util/optional/assignment/2.cc: Likewise. + * testsuite/20_util/optional/assignment/3.cc: Likewise. + * testsuite/20_util/optional/assignment/4.cc: Likewise. + * testsuite/20_util/optional/assignment/5.cc: Likewise. + * testsuite/20_util/optional/assignment/6.cc: Likewise. + * testsuite/20_util/optional/assignment/7.cc: Likewise. + * testsuite/20_util/optional/cons/77727.cc: Likewise. + * testsuite/20_util/optional/cons/move.cc: Likewise. + * testsuite/20_util/optional/cons/value.cc: Likewise. + * testsuite/20_util/optional/cons/value_neg.cc: Likewise. + * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. + * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. + * testsuite/20_util/optional/hash.cc: Likewise. + * testsuite/20_util/optional/make_optional.cc: Likewise. + * testsuite/20_util/optional/observers/1.cc: Likewise. + * testsuite/20_util/optional/observers/2.cc: Likewise. + * testsuite/20_util/optional/observers/3.cc: Likewise. + * testsuite/20_util/optional/observers/4.cc: Likewise. + * testsuite/20_util/optional/observers/5.cc: Likewise. + * testsuite/20_util/optional/observers/6.cc: Likewise. + * testsuite/20_util/optional/relops/1.cc: Likewise. + * testsuite/20_util/optional/relops/2.cc: Likewise. + * testsuite/20_util/optional/relops/3.cc: Likewise. + * testsuite/20_util/optional/relops/4.cc: Likewise. + * testsuite/20_util/optional/relops/5.cc: Likewise. + * testsuite/20_util/optional/relops/6.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Likewise. + * testsuite/20_util/optional/swap/1.cc: Likewise. + * testsuite/20_util/optional/typedefs.cc: Likewise. + * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. + * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. + * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: + Likewise. + * testsuite/20_util/variable_templates_for_traits.cc: Likewise. + * testsuite/20_util/variant/hash.cc: Likewise. + * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. + * testsuite/experimental/any/typedefs.cc: Likewise. + * testsuite/experimental/array/make_array.cc: Likewise. + * testsuite/experimental/array/neg.cc: Likewise. + * testsuite/experimental/chrono/value.cc: Likewise. + * testsuite/experimental/deque/erasure.cc: Likewise. + * testsuite/experimental/forward_list/erasure.cc: Likewise. + * testsuite/experimental/list/erasure.cc: Likewise. + * testsuite/experimental/map/erasure.cc: Likewise. + * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: + Likewise. + * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise. + * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise. + * testsuite/experimental/memory/observer_ptr/make_observer.cc: + Likewise. + * testsuite/experimental/memory/observer_ptr/relops/relops.cc: + Likewise. + * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise. + * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise. + * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise. + * testsuite/experimental/optional/77288.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/77727.cc: Likewise. + * testsuite/experimental/optional/cons/move.cc: Likewise. + * testsuite/experimental/optional/cons/value.cc: Likewise. + * testsuite/experimental/optional/cons/value_neg.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/propagate_const/assignment/move.cc: Likewise. + * testsuite/experimental/propagate_const/assignment/move_neg.cc: + Likewise. + * testsuite/experimental/propagate_const/cons/move.cc: Likewise. + * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. + * testsuite/experimental/propagate_const/hash/1.cc: Likewise. + * testsuite/experimental/propagate_const/observers/1.cc: Likewise. + * testsuite/experimental/propagate_const/relops/1.cc: Likewise. + * testsuite/experimental/propagate_const/requirements1.cc: Likewise. + * testsuite/experimental/propagate_const/requirements2.cc: Likewise. + * testsuite/experimental/propagate_const/requirements3.cc: Likewise. + * testsuite/experimental/propagate_const/requirements4.cc: Likewise. + * testsuite/experimental/propagate_const/requirements5.cc: Likewise. + * testsuite/experimental/propagate_const/swap/1.cc: Likewise. + * testsuite/experimental/propagate_const/typedefs.cc: Likewise. + * testsuite/experimental/random/randint.cc: Likewise. + * testsuite/experimental/ratio/value.cc: Likewise. + * testsuite/experimental/set/erasure.cc: Likewise. + * testsuite/experimental/string/erasure.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. + * testsuite/experimental/unordered_map/erasure.cc: Likewise. + * testsuite/experimental/unordered_set/erasure.cc: Likewise. + * testsuite/experimental/vector/erasure.cc: Likewise. + + * doc/xml/manual/intro.xml: Document LWG 2742 status. + * doc/html/*: Regenerate. + * include/bits/basic_string.h + (basic_string(const T&, size_type, size_type, const Allocator&)): Add + constructor for substring of basic_string_view, as per LWG 2742 but + with additional constraint to fix ambiguity. + * testsuite/21_strings/basic_string/cons/char/9.cc: New test. + * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test. + + * doc/xml/manual/intro.xml: Document LWG 2748 status. + * include/std/optional (optional::swap): Use is_nothrow_swappable_v + for exception specification. + (swap(optional&, optional&)): Disable when T is not swappable. + * testsuite/20_util/optional/swap/2.cc: New test. + +2016-11-14 Ville Voutilainen + + Implement P0513R0, Poisoning the Hash. + * include/bits/functional_hash.h (__poison_hash): New. + * include/bits/unique_ptr.h + (hash>): Derive from __poison_hash. + * include/std/optional (hash>): Likewise. + * include/std/variant (hash>): Likewise. + * testsuite/20_util/default_delete/48631_neg.cc: Adjust. + * testsuite/20_util/default_delete/void_neg.cc: Likewise. + * testsuite/20_util/optional/hash.cc: New. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. + * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust. + * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for + poisoned fancy pointer hashes. + * testsuite/20_util/variant/hash.cc: New. + +2016-11-14 Ville Voutilainen + + Implement P0504R0 (Revisiting in-place tag types for + any/optional/variant). + * include/std/any (any(_ValueType&& __value)): Constrain + the __is_in_place_type with the decayed type. + (make_any): Adjust to use the new tag type. + * include/std/utility (in_place_tag): Remove. + (in_place_t): Turn into a non-reference tag type. + (__in_place, __in_place_type, __in_place_index): Remove. + (in_place): Turn into an inline variable of non-reference + tag type. + (in_place<_Tp>): Remove. + (in_place_index<_Idx>): Remove. + (in_place_type_t): New. + (in_place_type): Turn into a variable template of non-reference + type. + (in_place_index_t): New. + (in_place_index): Turn into a variable template of non-reference + type. + * include/std/variant + (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to + use the new tag type. + (_Union(in_place_index_t<0>, _Args&&...)): Likewise. + (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise. + (_Variant_base()): Likewise. + (variant(_Tp&&)): Likewise. + (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise. + (variant(in_place_type_t<_Tp>, initializer_list<_Up>, + _Args&&...)): Likewise. + (variant(in_place_index_t<_Np>, _Args&&...)): Likewise. + (variant(in_place_index_t<_Np>, initializer_list<_Up>, + _Args&&...)): Likewise + (variant(allocator_arg_t, const _Alloc&)): Likewise. + (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise. + (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>, + _Args&&...)): Likewise. + (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>, + initializer_list<_Up>, _Args&&...)): Likewise. + (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>, + _Args&&...)): Likewise. + (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>, + initializer_list<_Up>, _Args&&...)): Likewise. + (emplace(_Args&&...)): Likewise. + (emplace(initializer_list<_Up>, _Args&&...)): Likewise. + * testsuite/20_util/any/cons/explicit.cc: Likewise. + * testsuite/20_util/any/cons/in_place.cc: Likewise. + * testsuite/20_util/any/requirements.cc: Add tests to + check that any is not constructible from the new in_place_type_t + of any value category. + * testsuite/20_util/in_place/requirements.cc: Adjust to + use the new tag type. + * testsuite/20_util/variant/compile.cc: Likewise. + * testsuite/20_util/variant/run.cc: Likewise. + +2016-11-14 Ville Voutilainen + + Use constexpr addressof in optional, SFINAE housekeeping + for any, optional and tuple. + * include/std/any (__do_emplace(_Args&&...)): New. + (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise. + (__any_constructible): Likewise. + (__any_constructible_t): Use __any_constructible. + (operator=(_ValueType&&)): SFINAE in the return type. + (emplace(_Args&&...)): Likewise. + (emplace(initializer_list<_Up>, _Args&&...)): Likewise. + * include/std/optional (_Has_addressof_mem): Remove. + (_Has_addressof_free): Likewise. + (_Has_addressof): Likewise. + (__constexpr_addressof(_Tp&)): Likewise. + (operator->): Use std::__addressof. + * include/std/tuple (operator=(const tuple<_UElements...>&)): + SFINAE in return type. + (operator=(tuple<_UElements...>&&)): Likewise. + * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. + +2016-11-14 Jonathan Wakely + + * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload, + as per LWG 2598. + + * include/std/future (future::share(), future::share()) + (future::share()): Add noexcept, as per LWG 2556. + +2016-11-13 Jonathan Wakely + + PR libstdc++/78326 + * include/experimental/memory_resource (memory_resource::_S_max_align): + Change access to protected. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/manual/status.html: Regenerate. + * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add + extension constructor to maintain C++14 behaviour. + * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct. + (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)): + New constructors. + (__sp_compatible_with, __sp_is_constructible): Add specializations + for array support. + (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers. + (__shared_ptr_access): New base class for observer member functions. + (__shared_ptr::element_type): Use remove_extent. + (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check. + (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count + constructor. + (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor. + (__shared_ptr::operator*, __shared_ptr::operator->): Remove and + inherit from __shared_ptr_access base class. + (__shared_ptr::__has_esft_base): Return false for array types. + (__weak_ptr::element_type): Use remove_extent. + * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove. + (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations. + (__wak_ptr<__libfund_v1<_Tp>>): Likewise. + (experimental::__sp_compatible_v): Redefine using + __sp_compatible_with. + (experimental::__sp_is_constructible_v): Redefine using + __sp_is_constructible. + (get_deleter, operator<<): Change argument from __shared_ptr to + shared_ptr. + * testsuite/20_util/shared_ptr/cons/array.cc: New test. + * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for + new behaviour. + * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for + arrays. + * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test. + +2016-11-13 Ville Voutilainen + + Implement P0403R1, Literal suffixes for basic_string_view. + * include/std/string_view + (operator""sv(const char*, size_t)): New. + (operator""sv(const wchar_t*, size_t)): Likewise. + (operator""sv(const char16_t*, size_t)): Likewise. + (operator""sv(const char32_t*, size_t)): Likewise. + * testsuite/21_strings/basic_string_view/literals/types.cc: New. + * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise. + * testsuite/experimental/string_view/literals/values.cc: Add + tests for literals with embedded NULs. + +2016-11-12 Jonathan Wakely + + * src/filesystem/ops.cc (is_empty): Fix typo in exception message. + + * include/std/future (future_error): Fix public typo to private. + +2016-11-11 Jonathan Wakely + + * include/std/future (future_error): Make existing constructor + private and add constructor from future_errc. + + * include/bits/shared_ptr.h (hash>): Use element_type. + * include/bits/shared_ptr_base.h (hash<__shared_ptr>): Likewise. + +2016-11-10 François Dumont + + * src/c++11/debug.cc (format_word): Delete. + (print_literal): New. Replace call to print_word for literals. + +2016-11-09 Tim Shen + + * include/bits/regex.h (regex_iterator::regex_iterator()): + Define end() as _M_pregex == nullptr. + * 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. + +2016-11-07 Jason Merrill + + * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM) + (_GLIBCXX_NOEXCEPT_QUAL): New. + * include/std/type_traits (is_function): Use them. + * libsubc++/new (launder): Likewise. + * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add + __noexcept_mask. + * libsupc++/pbase_type_info.cc (__do_catch): Handle function + pointer conversion. + +2016-11-07 François Dumont + + * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of + over-aligned types symbols. + +2016-10-28 Jonathan Wakely + + * 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. + * testsuite/experimental/filesystem/path/construct/string_view.cc: + New test. + * testsuite/experimental/filesystem/path/construct/ + string_view_cxx17.cc: New test. + + * include/experimental/bits/fs_path.h + (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. + * testsuite/experimental/filesystem/path/construct/range.cc: Test + construction from input iterators with const value types. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + * include/std/type_traits (has_unique_object_representations): Guard + with __has_builtin check. + * libsupc++/new (launder): Define for C++17. + * testsuite/18_support/launder/1.cc: New test. + * testsuite/18_support/launder/requirements.cc: New test. + * testsuite/18_support/launder/requirements_neg.cc: New test. + +2016-10-27 Uros Bizjak + + PR libstdc++/70975 + * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]: + Pass non-null pointer to sendfile for offset argument. + +2016-10-27 Jonathan Wakely + + * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ + default.cc: Fix effective target selector. + * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ + parms.cc: Likewise. + * testsuite/ext/random/uniform_inside_sphere_distribution/operators/ + equal.cc: Likewise. + * testsuite/ext/random/uniform_inside_sphere_distribution/operators/ + generate.cc: Likewise. + * testsuite/ext/random/uniform_inside_sphere_distribution/operators/ + inequal.cc: Likewise. + * testsuite/ext/random/uniform_inside_sphere_distribution/operators/ + serialize.cc: Likewise. + + * testsuite/experimental/filesystem/iterators/directory_iterator.cc: + Use end() function to get end iterator. + * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf + statements that were present for debugging. + * testsuite/experimental/filesystem/iterators/ + recursive_directory_iterator.cc: Use end() function to get end + iterator. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + Only require file timestamps to be accurate to one second. + +2016-10-26 François Dumont + + * include/bits/stl_map.h (map()): Make default. + * include/bits/stl_multimap.h (multimap()): Likewise. + * include/bits/stl_multiset.h (multiset()): Likewise. + * include/bits/stl_set.h (set()): Likewise. + * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept. + (_Rb_tree()): Make default. + +2016-10-26 Bernd Edlinger + + PR libstdc++/78110 + * libsupc++/new_opa.cc: Don't include in a free standing + environment. Declare memalign directly in that case. + +2016-10-26 Jonathan Wakely + + * testsuite/experimental/filesystem/iterators/pop.cc: Remove + unreliable dependency on directory order. + +2016-10-26 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement uniform_inside_sphere_distribution extension. + * include/ext/random: Implement uniform_inside_sphere_distribution. + * include/ext/random.tcc: Ditto. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + cons/default.cc: New. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + cons/parms.cc: New. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + operators/equal.cc: New. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + operators/generate.cc: New. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + operators/inequal.cc: New. + * testsuite/ext/random/uniform_inside_sphere_distribution/ + operators/serialize.cc: New. + +2016-10-26 Jonathan Wakely + + * include/experimental/bits/fs_dir.h (recursive_directory_iterator): + Overload pop (LWG 2706). + * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define + new overload. + * testsuite/experimental/filesystem/iterators/pop.cc: New test. + + * src/filesystem/dir.cc (recursive_directory_iterator::increment): + Reset state on error. + * testsuite/experimental/filesystem/iterators/ + recursive_directory_iterator.cc: Check state after increment error. + + PR libstdc++/78111 + * src/filesystem/ops.cc (canonical): Set error for non-existent path. + +2016-10-26 Uros Bizjak + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include + for PATH_MAX in realpath test. + * configure: Regenerate. + +2016-10-25 Jonathan Wakely + + * src/filesystem/ops.cc + (last_write_time(const path&, file_time_type, error_code&)): Handle + negative times correctly. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + Test writing file times. + + * src/filesystem/ops.cc (do_copy_file): Report an error if source or + destination is not a regular file (LWG 2712). + (equivalent): Fix error handling and result when only one file exists. + * testsuite/experimental/filesystem/operations/copy.cc: Remove files + created by tests. Test copying directories. + * testsuite/experimental/filesystem/operations/copy_file.cc: Remove + files created by tests. + * testsuite/experimental/filesystem/operations/equivalent.cc: New. + * testsuite/experimental/filesystem/operations/is_empty.cc: New. + * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove + file created by test. + * testsuite/experimental/filesystem/operations/remove_all.cc: New. + * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove + file if path is non-empty, to support removal by other means. + +2016-10-24 Jonathan Wakely + + * src/filesystem/ops.cc (is_empty): Fix error handling. + * testsuite/experimental/filesystem/operations/is_empty.cc: New test. + + PR libstdc++/71337 + * src/filesystem/ops.cc (temp_directory_path): Pass error_code + argument to other filesystem operations. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Add testcase for inaccessible directory. + + * 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. + * testsuite/experimental/filesystem/iterators/directory_iterator.cc: + Update expected behaviour on error. + * testsuite/experimental/filesystem/iterators/ + recursive_directory_iterator.cc: Likewise. + + * src/filesystem/ops.cc (close_fd): Remove. + (do_copy_file): Just use close(3) instead of close_fd, to prevent + retrying on error. + + * src/filesystem/ops.cc (do_copy_file): Return an error if either + source or destination is not a regular file. + (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683 + resolutions. + (read_symlink): Add missing ec.clear(). + * 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. + * testsuite/experimental/filesystem/operations/read_symlink.cc: New. + +2016-10-24 Ville Voutilainen + + Cross-port exception-safety and move fixes of std::any to + std::experimental::any. + * include/experimental/any (operator=(const any&)): + Make strongly exception-safe. + (operator=(any&&)): clear() unconditionally in the case where + rhs has a value. + (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy. + * testsuite/experimental/any/assign/2.cc: Adjust. + * testsuite/experimental/any/assign/exception.cc: New. + * testsuite/experimental/any/cons/2.cc: Adjust. + * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust. + +2016-10-24 Ville Voutilainen + + Cross-port the latest resolution of LWG2756 and some + bug-fixes to experimental::optional. + PR libstdc++/77288 + PR libstdc++/77727 + * include/experimental/optional (_Optional_base): + Remove constructors that take a _Tp. + (__is_optional_impl, __is_optional): Remove. + (__converts_from_optional): New. + (optional(_Up&&)): Fix constraints, call base with in_place. + (optional(const optional<_Up>&)): Fix constraints, use emplace. + (optional(optional<_Up>&&)): Likewise. + (operator=(_Up&&)): Fix constraints. + (operator=(const optional<_Up>&)): Likewise. + (operator=(optional<_Up>&&)): Likewise. + (emplace(_Args&&...)): Constrain. + (emplace(initializer_list<_Up>, _Args&&...)): Likewise. + * testsuite/experimental/optional/77288.cc: New. + * testsuite/experimental/optional/assignment/5.cc: Adjust. + * testsuite/experimental/optional/cons/77727.cc: New. + * testsuite/experimental/optional/cons/value.cc: Adjust. + +2016-10-24 Jonathan Wakely + + * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data): + Change return type of non-standard C++98 extension to match C++11. + +2016-10-22 François Dumont + + * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO) + (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively + _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION. + (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER): + Likewise. + +2016-10-22 Jonathan Wakely + + * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): + Ignore symlink_nofollow flag if file is not a symlink. + * testsuite/experimental/filesystem/operations/permissions.cc: Test + symlink_nofollow on non-symlinks. + +2016-10-21 Jonathan Wakely + + * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks): + Replace with symlink_nofollow (LWG 2720). + * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): + Handle symlink_nofollow. + * testsuite/experimental/filesystem/operations/create_symlink.cc: New + test. + * testsuite/experimental/filesystem/operations/permissions.cc: Test + overload taking error_code. + + * include/experimental/bits/fs_ops.h + (exists(const path&, error_code&)): Clear error if status is known + (LWG 2725). + (status(const path&, error_code&)): Handle EOVERFLOW. + * testsuite/experimental/filesystem/operations/exists.cc: Test + overload taking an error_code. + + * include/experimental/bits/fs_path.h (path::path(string_type&&)) + (path::operator=(string&&), path::assign(string_type&&)): Define + construction and assignment from string_type rvalues (LWG 2707). + +2016-10-21 Eelis van der Weegen + + * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out + of shuffle into new function. + (shuffle): Call __gen_two_uniform_ints. + (__sample): Use + __gen_two_uniform_ints and perform two samples at a time. + +2016-10-21 Jonathan Wakely + + * include/Makefile.am: Add and . + Order alphabetically. + * include/Makefile.in: Regenerate. + * include/bits/refwrap.h: New header. + (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type) + (_Reference_wrapper_base_impl, _Reference_wrapper_base) + (reference_wrapper, ref, cref): Move here from . + * include/bits/shared_ptr_base.h: Include and + instead of . + * include/bits/std_function.h: New header. + (_Maybe_unary_or_binary_function, bad_function_call) + (__is_location_invariant, _Nocopy_types, _Any_data) + (_Simple_type_wrapper, _Function_base, _Function_handler, function): + Move here from . + * include/bits/unique_ptr.h: Include . + * include/std/functional: Include new headers and move components to + them. + * include/std/future: Include instead of + . + * include/std/mutex: Likewise. + * include/std/regex: Likewise. + * src/c++11/compatibility-thread-c++0x.cc: Include . + * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line. + * testsuite/20_util/default_delete/void_neg.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error + lines. + * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. + * testsuite/30_threads/packaged_task/49668.cc: Include . + + * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new. + * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New + test. + +2016-10-20 Jonathan Wakely + + * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)) + (shared_ptr(auto_ptr&&)): Adjust template parameter lists. + * include/bits/shared_ptr.h (__sp_compatible_with) + (__sp_is_constructible): New helper traits for shared_ptr. + (shared_ptr::_Convertible): Replace with _Constructible. + (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks + to base class. + (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template + with _Constructible and _Assignable. + (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type + instead of _Tp. + (operator<): Likewise. + (operator>): Define in terms of operator<. + (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use + element_type instead of _Tp. + (reinterpret_pointer_cast): Define for C++17. + (weak_ptr::_Convertible): Replace with _Constructible. + (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks + to base class. + (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates + with _Constructible and _Assignable. + * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace + with _Compatible. + (__shared_ptr::_SafeConv): New constraint for incoming raw pointers. + (__shared_ptr::_Compatible): New constraint for converting from + other types of shared_ptr and weak_ptr. + (__shared_ptr::_Assignable): Define in terms of _Compatible. + (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New + constraints for converting from unique_ptr. + (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain + template with _SaveConf, _Compatible and _Assignable. Remove + __glibcxx_function_requires concept checks. Add static assertion for + deleter expression being well-formed. + (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*)) + (__shared_ptr::operator*, __shared_ptr::operator->) + (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead + of _Tp. + (operator<): Likewise. + (operator>): Define in terms of operator<. + (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use + element_type instead of _Tp. + (reinterpret_pointer_cast): Define for C++17. + (weak_ptr::_Convertible): Replace with _Compatible. + (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for + conversions from other types of weak_ptr and shared_ptr. + (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates + with _Constructible and _Assignable. + (__weak_ptr::_M_ptr): Use element_type instead of _Tp. + * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust + dg-error pattern. + * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions. + * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test. + +2016-10-20 Ville Voutilainen + + Do the operator= SFINAE in the return type for optional, + not in the template parameters. + * include/std/optional (operator=(_Up&&)): Move SFINAE + from template parameters to the return type. + (operator=(const optional<_Up>&)): Likewise. + (operator=(optional<_Up>&&)): Likewise. + +2016-10-20 Jonathan Wakely + + * include/bits/allocator.h: Remove trailing whitespace, tab-indent. + * include/ext/new_allocator.h: Likewise. + + PR libstdc++/78052 + * include/bits/allocator.h (allocator::construct) + (allocator::destroy): Define. + * testsuite/20_util/allocator/void.cc: New test. + + * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for + additional ambiguous cases. + +2016-10-19 Jonathan Wakely + + * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call + _M_enable_shared_from_this_with instead of + __enable_shared_from_this_helper. + * include/bits/shared_ptr.h (__enable_shared_from_this_helper): + Remove overload for std::enable_shared_from_this.. + (__enable_shared_from_this_base): Define friend function to select a + std::enable_shared_from_this base class. + * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper): + Remove all overloads. + (__shared_ptr): Change all relevant constructors to call + _M_enable_shared_from_this_with instead of + __enable_shared_from_this_helper. + (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers + to detect accessible and unambiguous enable_shared_from_this bases. + (__shared_ptr::_M_enable_shared_from_this_with): New function to + replace __enable_shared_from_this_helper overloads. + (__enable_shared_from_this_helper): Remove overload for + std::__enable_shared_from_this. + (__enable_shared_from_this_base): Define friend function to select a + std::__enable_shared_from_this base class. + * include/experimental/bits/shared_ptr.h (experimental::shared_ptr): + Change relevant constructors to call _M_enable_shared_from_this_with. + (experimental::shared_ptr::__efst_base_t) + (experimental::shared_ptr::__has_efst_base): Helpers to detect + accessible and unambiguous enable_shared_from_this bases. + (experimental::shared_ptr::_M_enable_shared_from_this_with): Define. + (experimental::__enable_shared_from_this_helper): Remove overload for + std::experimental::enable_shared_from_this. + (experimental::__expt_enable_shared_from_this_base): Define friend + function to select a std::experimental::enable_shared_from_this base. + * testsuite/experimental/memory/shared_ptr/cons/ + enable_shared_from_this.cc: New test. + * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: + Adjust expected behaviour for shared_ptr. + + * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return + type. + + * include/backward/auto_ptr.h (dauto_ptr): Correct comment about + conversions from auto_ptr rvalues to auto_ptr. + * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error + directives that only match notes, not errors. + + * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: + Add tests for valid and invalid conversions. + * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: + Likewise. + + * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests + to new file. + * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix + test for incompatible deleters to not also use incompatible types. + Add tests for incompatible array types. + + * include/experimental/bits/shared_ptr.h + (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use + is_convertible for non-array specialization. + (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New + constraint for conversions from unique_ptr. + (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain. + (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise. + (__sp_compatible_v): New variable template for trait. + (__sp_is_constructible): New trait to check shared_ptr constraints. + (__sp_is_constructible_v): New variable template for trait. + (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New + constraint for construction/reset, using __sp_is_constructible_v. + (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New + constraint for conversions from unique_ptr. + (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain. + (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise. + (shared_ptr::_SafeConv): Constraint for checking constructors. + (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter)) + (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv. + (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible. + (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO. + * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: + Remove tests using invalid conversions. + * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc: + New test. + * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test. + * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove + tests using invalid conversions. + * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New + test. + * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: + Remove tests using invalid conversions. + + PR libstdc++/77990 + * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to + encapsulate implementation details. + (unique_ptr::unique_ptr(_Up)): Don't copy deleter object. + (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release): + Call member functions of implementation object. + (unique_ptr): Likewise. + * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for + new implementation. + * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error + lines. + * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/77990.cc: New test. + +2016-10-18 Jonathan Wakely + + * include/experimental/bits/shared_ptr.h: Fix indentation. + + * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)): + Remove const from parameter. + (operator<(const shared_ptr&, nullptr_t)): Use correct + specialization of std::less. + * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: + Test comparison with nullptr and actually call test functions. + + * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v) + (__is_nothrow_uses_allocator_constructible_v): Only define for C++14 + and later. + +2016-10-17 Paolo Carlini + + * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test' + variables. + * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise. + * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc: + Likewise. + * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc: + Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc + * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise. + * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise. + * testsuite/27_io/basic_fstream/cons/1.cc: Likewise. + * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise. + * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise. + * testsuite/27_io/basic_ios/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise. + * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise. + * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. + * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. + * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. + * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise. + * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise. + * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_istream/cons/3.cc: Likewise. + * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise. + * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/ + exceptions_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/ + wchar_t/9555-ia.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ + dr696.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ + exceptions_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/1.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/2.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/3.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/4.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/ + 11095-i.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/ + 9555-ic.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/26181.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/ + error_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/ + error_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_istream/get/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/get/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/get/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise. + * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise. + * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise. + * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise. + * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise. + * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise. + * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. + * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/read/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise. + * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise. + * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. + * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise. + * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise. + * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. + * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise. + * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: + Likewise. + * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_ostream/flush/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ + 9555-oa.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 11095-od.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 11095-oe.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 11095-of.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-2.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 9555-oc.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/ + error_failbit.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + 9318-out.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + 9424-out.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + 9555-oo.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + error_code.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + error_failbit.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + exceptions_failbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise. + * testsuite/27_io/basic_ostream/seekp/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise. + * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/char/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_ostream/tellp/wchar_t/ + exceptions_badbit_throw.cc: Likewise. + * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise. + * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise. + * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise. + * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise. + * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise. + * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise. + * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise. + * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise. + * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise. + * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise. + * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise. + * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise. + * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise. + * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise. + * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise. + * testsuite/27_io/fpos/11450.cc: Likewise. + * testsuite/27_io/fpos/14252.cc: Likewise. + * testsuite/27_io/fpos/14320-1.cc: Likewise. + * testsuite/27_io/fpos/14320-2.cc: Likewise. + * testsuite/27_io/fpos/14320-3.cc: Likewise. + * testsuite/27_io/fpos/14320-4.cc: Likewise. + * testsuite/27_io/fpos/14320-5.cc: Likewise. + * testsuite/27_io/fpos/14775.cc: Likewise. + * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise. + * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise. + * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise. + * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise. + * testsuite/27_io/ios_base/callbacks/1.cc: Likewise. + * testsuite/27_io/ios_base/failure/what-1.cc: Likewise. + * testsuite/27_io/ios_base/failure/what-2.cc: Likewise. + * testsuite/27_io/ios_base/failure/what-3.cc: Likewise. + * testsuite/27_io/ios_base/failure/what-big.cc: Likewise. + * testsuite/27_io/ios_base/state/1.cc: Likewise. + * testsuite/27_io/ios_base/storage/1.cc: Likewise. + * testsuite/27_io/ios_base/storage/11584.cc: Likewise. + * testsuite/27_io/ios_base/storage/2.cc: Likewise. + * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise. + * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise. + * testsuite/27_io/manipulators/adjustfield/char/2.cc + * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise. + * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise. + * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: + Likewise. + * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: + Likewise. + * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc: + Likewise. + * testsuite/27_io/manipulators/extended/get_time/char/1.cc + * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_money/char/51288.cc: + Likewise. + * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc: + Likewise. + * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc: + Likewise. + * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise. + * testsuite/27_io/manipulators/standard/char/1.cc: Likewise. + * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. + * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise. + * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise. + * testsuite/27_io/objects/char/1.cc: Likewise. + * testsuite/27_io/objects/char/10.cc: Likewise. + * testsuite/27_io/objects/char/3045.cc: Likewise. + * testsuite/27_io/objects/char/41037.cc: Likewise. + * testsuite/27_io/objects/char/5.cc: Likewise. + * testsuite/27_io/objects/char/6.cc: Likewise. + * testsuite/27_io/objects/char/6548_xin.cc: Likewise. + * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise. + * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise. + * testsuite/27_io/objects/char/7744_xin.cc: Likewise. + * testsuite/27_io/objects/char/8.cc: Likewise. + * testsuite/27_io/objects/char/9.cc: Likewise. + * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise. + * testsuite/27_io/objects/char/dr455.cc: Likewise. + * testsuite/27_io/objects/wchar_t/1.cc: Likewise. + * testsuite/27_io/objects/wchar_t/10.cc: Likewise. + * testsuite/27_io/objects/wchar_t/11.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12.cc: Likewise. + * testsuite/27_io/objects/wchar_t/13.cc: Likewise. + * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/3045.cc: Likewise. + * testsuite/27_io/objects/wchar_t/41037.cc: Likewise. + * testsuite/27_io/objects/wchar_t/5.cc: Likewise. + * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/8.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9520.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9662.cc: Likewise. + * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise. + * testsuite/27_io/types/3.cc: Likewise. + +2016-10-17 Jonathan Wakely + + PR libstdc++/77994 + * include/bits/stl_algo.h (sample): Convert size argument to iterator + difference type. + * include/experimental/algorithm (experimental::sample): Likewise. + * testsuite/25_algorithms/sample/2.cc: New test. + +2016-10-17 Paolo Carlini + + * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc. + * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. + +2016-10-17 Paolo Carlini + + * testsuite/array/capacity/empty.cc: Remove 'test' variables. + * testsuite/array/capacity/max_size.cc: Likewise. + * testsuite/array/capacity/size.cc: Likewise. + * testsuite/array/comparison_operators/equal.cc: Likewise. + * testsuite/array/comparison_operators/greater.cc: Likewise. + * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise. + * testsuite/array/comparison_operators/less.cc: Likewise. + * testsuite/array/comparison_operators/less_or_equal.cc: Likewise. + * testsuite/array/comparison_operators/not_equal.cc: Likewise. + * testsuite/array/element_access/54388.cc: Likewise. + * testsuite/array/element_access/at_out_of_range.cc: Likewise. + * testsuite/array/element_access/back.cc: Likewise. + * testsuite/array/element_access/data.cc: Likewise. + * testsuite/array/element_access/front.cc: Likewise. + * testsuite/array/iterators/end_is_one_past.cc: Likewise. + * testsuite/array/requirements/contiguous.cc: Likewise. + * testsuite/array/requirements/fill.cc: Likewise. + * testsuite/array/requirements/member_swap.cc: Likewise. + * testsuite/array/requirements/zero_sized_arrays.cc: Likewise. + * testsuite/array/specialized_algorithms/swap.cc: Likewise. + * testsuite/array/tuple_interface/tuple_element.cc: Likewise. + * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise. + * testsuite/array/tuple_interface/tuple_size.cc: Likewise. + * testsuite/bitset/all/1.cc: Likewise. + * testsuite/bitset/cons/1.cc: Likewise. + * testsuite/bitset/cons/16020.cc: Likewise. + * testsuite/bitset/cons/2.cc: Likewise. + * testsuite/bitset/cons/3.cc: Likewise. + * testsuite/bitset/cons/50268.cc: Likewise. + * testsuite/bitset/cons/6282.cc: Likewise. + * testsuite/bitset/cons/dr1325-2.cc: Likewise. + * testsuite/bitset/cons/dr396.cc: Likewise. + * testsuite/bitset/ext/15361.cc: Likewise. + * testsuite/bitset/input/1.cc: Likewise. + * testsuite/bitset/operations/1.cc: Likewise. + * testsuite/bitset/operations/13838.cc: Likewise. + * testsuite/bitset/operations/2.cc: Likewise. + * testsuite/bitset/test/1.cc: Likewise. + * testsuite/bitset/to_string/1.cc: Likewise. + * testsuite/bitset/to_string/dr396.cc: Likewise. + * testsuite/bitset/to_ullong/1.cc: Likewise. + * testsuite/bitset/to_ulong/1.cc: Likewise. + * testsuite/deque/allocator/copy.cc: Likewise. + * testsuite/deque/allocator/copy_assign.cc: Likewise. + * testsuite/deque/allocator/ext_ptr.cc: Likewise. + * testsuite/deque/allocator/minimal.cc: Likewise. + * testsuite/deque/allocator/move.cc: Likewise. + * testsuite/deque/allocator/move_assign.cc: Likewise. + * testsuite/deque/allocator/swap.cc: Likewise. + * testsuite/deque/capacity/29134-2.cc: Likewise. + * testsuite/deque/capacity/29134.cc: Likewise. + * testsuite/deque/capacity/moveable.cc: Likewise. + * testsuite/deque/capacity/resize_size.cc: Likewise. + * testsuite/deque/capacity/shrink_to_fit.cc: Likewise. + * testsuite/deque/cons/1.cc: Likewise. + * testsuite/deque/cons/2.cc: Likewise. + * testsuite/deque/cons/assign/1.cc: Likewise. + * testsuite/deque/cons/cons_size.cc: Likewise. + * testsuite/deque/cons/moveable.cc: Likewise. + * testsuite/deque/modifiers/erase/1.cc: Likewise. + * testsuite/deque/modifiers/erase/2.cc: Likewise. + * testsuite/deque/modifiers/erase/3.cc: Likewise. + * testsuite/deque/modifiers/erase/moveable.cc: Likewise. + * testsuite/deque/modifiers/moveable.cc: Likewise. + * testsuite/deque/modifiers/push_back/49836.cc: Likewise. + * testsuite/deque/modifiers/push_front/49836.cc: Likewise. + * testsuite/deque/modifiers/swap/1.cc: Likewise. + * testsuite/deque/modifiers/swap/2.cc: Likewise. + * testsuite/deque/modifiers/swap/3.cc: Likewise. + * testsuite/deque/operators/1.cc: Likewise. + * testsuite/deque/operators/2.cc: Likewise. + * testsuite/forward_list/allocator/copy.cc: Likewise. + * testsuite/forward_list/allocator/copy_assign.cc: Likewise. + * testsuite/forward_list/allocator/ext_ptr.cc: Likewise. + * testsuite/forward_list/allocator/minimal.cc: Likewise. + * testsuite/forward_list/allocator/move.cc: Likewise. + * testsuite/forward_list/allocator/move_assign.cc: Likewise. + * testsuite/forward_list/allocator/swap.cc: Likewise. + * testsuite/forward_list/capacity/1.cc: Likewise. + * testsuite/forward_list/capacity/resize_size.cc: Likewise. + * testsuite/forward_list/comparable.cc: Likewise. + * testsuite/forward_list/cons/1.cc: Likewise. + * testsuite/forward_list/cons/2.cc: Likewise. + * testsuite/forward_list/cons/3.cc: Likewise. + * testsuite/forward_list/cons/4.cc: Likewise. + * testsuite/forward_list/cons/5.cc: Likewise. + * testsuite/forward_list/cons/6.cc: Likewise. + * testsuite/forward_list/cons/7.cc: Likewise. + * testsuite/forward_list/cons/8.cc: Likewise. + * testsuite/forward_list/cons/9.cc: Likewise. + * testsuite/forward_list/cons/cons_size.cc: Likewise. + * testsuite/forward_list/cons/moveable.cc: Likewise. + * testsuite/forward_list/debug/clear.cc: Likewise. + * testsuite/forward_list/debug/construct4_neg.cc: Likewise. + * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise. + * testsuite/forward_list/debug/move_assign_neg.cc: Likewise. + * testsuite/forward_list/debug/move_constructor.cc: Likewise. + * testsuite/forward_list/debug/move_neg.cc: Likewise. + * testsuite/forward_list/debug/splice_after.cc: Likewise. + * testsuite/forward_list/debug/swap.cc: Likewise. + * testsuite/forward_list/modifiers/1.cc: Likewise. + * testsuite/forward_list/modifiers/2.cc: Likewise. + * testsuite/forward_list/modifiers/3.cc: Likewise. + * testsuite/forward_list/modifiers/4.cc: Likewise. + * testsuite/forward_list/modifiers/5.cc: Likewise. + * testsuite/forward_list/modifiers/6.cc: Likewise. + * testsuite/forward_list/operations/1.cc: Likewise. + * testsuite/forward_list/operations/2.cc: Likewise. + * testsuite/forward_list/operations/3.cc: Likewise. + * testsuite/forward_list/operations/4.cc: Likewise. + * testsuite/forward_list/operations/5.cc: Likewise. + * testsuite/forward_list/operations/6.cc: Likewise. + * testsuite/forward_list/operations/7.cc: Likewise. + * testsuite/forward_list/operations/remove_freed.cc: Likewise. + * testsuite/list/61347.cc: Likewise. + * testsuite/list/allocator/copy.cc: Likewise. + * testsuite/list/allocator/copy_assign.cc: Likewise. + * testsuite/list/allocator/minimal.cc: Likewise. + * testsuite/list/allocator/move.cc: Likewise. + * testsuite/list/allocator/move_assign.cc: Likewise. + * testsuite/list/allocator/swap.cc: Likewise. + * testsuite/list/capacity/1.h: Likewise. + * testsuite/list/capacity/29134.cc: Likewise. + * testsuite/list/capacity/resize_size.cc: Likewise. + * testsuite/list/cons/1.h: Likewise. + * testsuite/list/cons/2.h: Likewise. + * testsuite/list/cons/3.h: Likewise. + * testsuite/list/cons/4.h: Likewise. + * testsuite/list/cons/5.h: Likewise. + * testsuite/list/cons/6.h: Likewise. + * testsuite/list/cons/7.h: Likewise. + * testsuite/list/cons/8.h: Likewise. + * testsuite/list/cons/9.h: Likewise. + * testsuite/list/cons/cons_size.cc: Likewise. + * testsuite/list/cons/moveable.h: Likewise. + * testsuite/list/debug/invalidation/1.cc: Likewise. + * testsuite/list/debug/invalidation/2.cc: Likewise. + * testsuite/list/debug/invalidation/3.cc: Likewise. + * testsuite/list/debug/invalidation/4.cc: Likewise. + * testsuite/list/modifiers/1.h: Likewise. + * testsuite/list/modifiers/2.h: Likewise. + * testsuite/list/modifiers/3.h: Likewise. + * testsuite/list/modifiers/insert/25288.h: Likewise. + * testsuite/list/modifiers/swap/1.h: Likewise. + * testsuite/list/modifiers/swap/2.h: Likewise. + * testsuite/list/modifiers/swap/3.h: Likewise. + * testsuite/list/operations/1.h: Likewise. + * testsuite/list/operations/2.h: Likewise. + * testsuite/list/operations/3.h: Likewise. + * testsuite/list/operations/4.h: Likewise. + * testsuite/list/operations/42352.cc: Likewise. + * testsuite/map/allocator/copy.cc: Likewise. + * testsuite/map/allocator/copy_assign.cc: Likewise. + * testsuite/map/allocator/init-list.cc: Likewise. + * testsuite/map/allocator/minimal.cc: Likewise. + * testsuite/map/allocator/move.cc: Likewise. + * testsuite/map/allocator/move_assign.cc: Likewise. + * testsuite/map/allocator/swap.cc: Likewise. + * testsuite/map/capacity/29134.cc: Likewise. + * testsuite/map/cons/moveable.cc: Likewise. + * testsuite/map/debug/construct5_neg.cc: Likewise. + * testsuite/map/debug/move_assign_neg.cc: Likewise. + * testsuite/map/debug/move_neg.cc: Likewise. + * testsuite/map/element_access/1.cc: Likewise. + * testsuite/map/element_access/2.cc: Likewise. + * testsuite/map/element_access/39901.cc: Likewise. + * testsuite/map/init-list.cc: Likewise. + * testsuite/map/modifiers/dr130.cc: Likewise. + * testsuite/map/modifiers/emplace/1.cc: Likewise. + * testsuite/map/modifiers/extract.cc: Likewise. + * testsuite/map/modifiers/insert/1.cc: Likewise. + * testsuite/map/modifiers/insert/16813.cc: Likewise. + * testsuite/map/modifiers/insert/2.cc: Likewise. + * testsuite/map/modifiers/insert/3.cc: Likewise. + * testsuite/map/modifiers/insert/4.cc: Likewise. + * testsuite/map/modifiers/insert/5.cc: Likewise. + * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise. + * testsuite/map/modifiers/merge.cc: Likewise. + * testsuite/map/modifiers/swap/1.cc: Likewise. + * testsuite/map/modifiers/swap/2.cc: Likewise. + * testsuite/map/modifiers/swap/3.cc: Likewise. + * testsuite/map/modifiers/try_emplace/1.cc: Likewise. + * testsuite/map/operations/1.cc: Likewise. + * testsuite/map/operations/count.cc: Likewise. + * testsuite/map/operators/1_neg.cc: Likewise. + * testsuite/map/operators/2.cc: Likewise. + * testsuite/multimap/allocator/copy.cc: Likewise. + * testsuite/multimap/allocator/copy_assign.cc: Likewise. + * testsuite/multimap/allocator/init-list.cc: Likewise. + * testsuite/multimap/allocator/minimal.cc: Likewise. + * testsuite/multimap/allocator/move.cc: Likewise. + * testsuite/multimap/allocator/move_assign.cc: Likewise. + * testsuite/multimap/allocator/swap.cc: Likewise. + * testsuite/multimap/capacity/29134.cc: Likewise. + * testsuite/multimap/cons/moveable.cc: Likewise. + * testsuite/multimap/debug/construct5_neg.cc: Likewise. + * testsuite/multimap/debug/move_assign_neg.cc: Likewise. + * testsuite/multimap/debug/move_neg.cc: Likewise. + * testsuite/multimap/init-list.cc: Likewise. + * testsuite/multimap/modifiers/dr130.cc: Likewise. + * testsuite/multimap/modifiers/emplace/1.cc: Likewise. + * testsuite/multimap/modifiers/extract.cc: Likewise. + * testsuite/multimap/modifiers/insert/1.cc: Likewise. + * testsuite/multimap/modifiers/insert/2.cc: Likewise. + * testsuite/multimap/modifiers/insert/22102.cc: Likewise. + * testsuite/multimap/modifiers/insert/3.cc: Likewise. + * testsuite/multimap/modifiers/insert/4.cc: Likewise. + * testsuite/multimap/modifiers/merge.cc: Likewise. + * testsuite/multimap/modifiers/swap/1.cc: Likewise. + * testsuite/multimap/modifiers/swap/2.cc: Likewise. + * testsuite/multimap/modifiers/swap/3.cc: Likewise. + * testsuite/multimap/operations/1.cc: Likewise. + * testsuite/multimap/operations/count.cc: Likewise. + * testsuite/multiset/allocator/copy.cc: Likewise. + * testsuite/multiset/allocator/copy_assign.cc: Likewise. + * testsuite/multiset/allocator/init-list.cc: Likewise. + * testsuite/multiset/allocator/minimal.cc: Likewise. + * testsuite/multiset/allocator/move.cc: Likewise. + * testsuite/multiset/allocator/move_assign.cc: Likewise. + * testsuite/multiset/allocator/swap.cc: Likewise. + * testsuite/multiset/capacity/29134.cc: Likewise. + * testsuite/multiset/cons/moveable.cc: Likewise. + * testsuite/multiset/debug/construct5_neg.cc: Likewise. + * testsuite/multiset/debug/invalidation/2.cc: Likewise. + * testsuite/multiset/debug/move_assign_neg.cc: Likewise. + * testsuite/multiset/debug/move_neg.cc: Likewise. + * testsuite/multiset/init-list.cc: Likewise. + * testsuite/multiset/modifiers/dr130.cc: Likewise. + * testsuite/multiset/modifiers/emplace/1.cc: Likewise. + * testsuite/multiset/modifiers/extract.cc: Likewise. + * testsuite/multiset/modifiers/insert/1.cc: Likewise. + * testsuite/multiset/modifiers/insert/2.cc: Likewise. + * testsuite/multiset/modifiers/insert/22102.cc: Likewise. + * testsuite/multiset/modifiers/insert/3.cc: Likewise. + * testsuite/multiset/modifiers/insert/4.cc: Likewise. + * testsuite/multiset/modifiers/merge.cc: Likewise. + * testsuite/multiset/modifiers/swap/1.cc: Likewise. + * testsuite/multiset/modifiers/swap/2.cc: Likewise. + * testsuite/multiset/modifiers/swap/3.cc: Likewise. + * testsuite/multiset/operations/1.cc: Likewise. + * testsuite/multiset/operations/count.cc: Likewise. + * testsuite/priority_queue/moveable.cc: Likewise. + * testsuite/queue/moveable.cc: Likewise. + * testsuite/set/allocator/copy.cc: Likewise. + * testsuite/set/allocator/copy_assign.cc: Likewise. + * testsuite/set/allocator/init-list.cc: Likewise. + * testsuite/set/allocator/minimal.cc: Likewise. + * testsuite/set/allocator/move.cc: Likewise. + * testsuite/set/allocator/move_assign.cc: Likewise. + * testsuite/set/allocator/swap.cc: Likewise. + * testsuite/set/capacity/29134.cc: Likewise. + * testsuite/set/cons/moveable.cc: Likewise. + * testsuite/set/debug/construct5_neg.cc: Likewise. + * testsuite/set/debug/invalidation/2.cc: Likewise. + * testsuite/set/debug/move_assign_neg.cc: Likewise. + * testsuite/set/debug/move_neg.cc: Likewise. + * testsuite/set/init-list.cc: Likewise. + * testsuite/set/modifiers/17948.cc: Likewise. + * testsuite/set/modifiers/dr130.cc: Likewise. + * testsuite/set/modifiers/emplace/1.cc: Likewise. + * testsuite/set/modifiers/extract.cc: Likewise. + * testsuite/set/modifiers/insert/1.cc: Likewise. + * testsuite/set/modifiers/insert/2.cc: Likewise. + * testsuite/set/modifiers/insert/3.cc: Likewise. + * testsuite/set/modifiers/merge.cc: Likewise. + * testsuite/set/modifiers/swap/1.cc: Likewise. + * testsuite/set/modifiers/swap/2.cc: Likewise. + * testsuite/set/modifiers/swap/3.cc: Likewise. + * testsuite/set/operations/1.cc: Likewise. + * testsuite/set/operations/count.cc: Likewise. + * testsuite/set/operators/1_neg.cc: Likewise. + * testsuite/unordered_map/allocator/copy.cc: Likewise. + * testsuite/unordered_map/allocator/copy_assign.cc: Likewise. + * testsuite/unordered_map/allocator/minimal.cc: Likewise. + * testsuite/unordered_map/allocator/move.cc: Likewise. + * testsuite/unordered_map/allocator/move_assign.cc: Likewise. + * testsuite/unordered_map/allocator/swap.cc: Likewise. + * testsuite/unordered_map/cons/moveable.cc: Likewise. + * testsuite/unordered_map/debug/construct5_neg.cc: Likewise. + * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise. + * testsuite/unordered_map/debug/move_neg.cc: Likewise. + * testsuite/unordered_map/dr761.cc: Likewise. + * testsuite/unordered_map/erase/1.cc: Likewise. + * testsuite/unordered_map/erase/24061-map.cc: Likewise. + * testsuite/unordered_map/erase/54276.cc: Likewise. + * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise. + * testsuite/unordered_map/init-list.cc: Likewise. + * testsuite/unordered_map/insert/24061-map.cc: Likewise. + * testsuite/unordered_map/insert/57619.C: Likewise. + * testsuite/unordered_map/insert/array_syntax.cc: Likewise. + * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise. + * testsuite/unordered_map/insert/map_range.cc: Likewise. + * testsuite/unordered_map/insert/map_single.cc: Likewise. + * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise. + * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise. + * testsuite/unordered_map/modifiers/61667.cc: Likewise. + * testsuite/unordered_map/modifiers/emplace.cc: Likewise. + * testsuite/unordered_map/modifiers/extract.cc: Likewise. + * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise. + * testsuite/unordered_map/modifiers/merge.cc: Likewise. + * testsuite/unordered_map/modifiers/reserve.cc: Likewise. + * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise. + * testsuite/unordered_map/operations/count.cc: Likewise. + * testsuite/unordered_map/operators/1.cc: Likewise. + * testsuite/unordered_map/operators/2.cc: Likewise. + * testsuite/unordered_multimap/allocator/copy.cc: Likewise. + * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise. + * testsuite/unordered_multimap/allocator/minimal.cc: Likewise. + * testsuite/unordered_multimap/allocator/move.cc: Likewise. + * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise. + * testsuite/unordered_multimap/allocator/swap.cc: Likewise. + * testsuite/unordered_multimap/cons/moveable.cc: Likewise. + * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise. + * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise. + * testsuite/unordered_multimap/debug/move_neg.cc: Likewise. + * testsuite/unordered_multimap/erase/1.cc: Likewise. + * testsuite/unordered_multimap/erase/2.cc: Likewise. + * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise. + * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise. + * testsuite/unordered_multimap/erase/54276.cc: Likewise. + * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise. + * testsuite/unordered_multimap/init-list.cc: Likewise. + * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise. + * testsuite/unordered_multimap/insert/51866.cc: Likewise. + * testsuite/unordered_multimap/insert/52476.cc: Likewise. + * testsuite/unordered_multimap/insert/53115.cc: Likewise. + * testsuite/unordered_multimap/insert/57619.C: Likewise. + * testsuite/unordered_multimap/insert/hint.cc: Likewise. + * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise. + * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise. + * testsuite/unordered_multimap/insert/multimap_single_move-1.cc: + Likewise. + * testsuite/unordered_multimap/insert/multimap_single_move-2.cc: + Likewise. + * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise. + * testsuite/unordered_multimap/modifiers/extract.cc: Likewise. + * testsuite/unordered_multimap/modifiers/merge.cc: Likewise. + * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise. + * testsuite/unordered_multimap/operations/count.cc: Likewise. + * testsuite/unordered_multimap/operators/1.cc: Likewise. + * testsuite/unordered_multimap/operators/2.cc: Likewise. + * testsuite/unordered_multiset/allocator/copy.cc: Likewise. + * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise. + * testsuite/unordered_multiset/allocator/minimal.cc: Likewise. + * testsuite/unordered_multiset/allocator/move.cc: Likewise. + * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise. + * testsuite/unordered_multiset/allocator/swap.cc: Likewise. + * testsuite/unordered_multiset/cons/copy.cc: Likewise. + * testsuite/unordered_multiset/cons/moveable.cc: Likewise. + * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise. + * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise. + * testsuite/unordered_multiset/debug/move_neg.cc: Likewise. + * testsuite/unordered_multiset/erase/1.cc: Likewise. + * testsuite/unordered_multiset/erase/2.cc: Likewise. + * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise. + * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise. + * testsuite/unordered_multiset/init-list.cc: Likewise. + * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise. + * testsuite/unordered_multiset/insert/51866.cc: Likewise. + * testsuite/unordered_multiset/insert/52476.cc: Likewise. + * testsuite/unordered_multiset/insert/53115.cc: Likewise. + * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise. + * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise. + * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise. + * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise. + * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise. + * testsuite/unordered_multiset/modifiers/extract.cc: Likewise. + * testsuite/unordered_multiset/modifiers/merge.cc: Likewise. + * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise. + * testsuite/unordered_multiset/operations/count.cc: Likewise. + * testsuite/unordered_multiset/operators/1.cc: Likewise. + * testsuite/unordered_set/allocator/copy.cc: Likewise. + * testsuite/unordered_set/allocator/copy_assign.cc: Likewise. + * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise. + * testsuite/unordered_set/allocator/minimal.cc: Likewise. + * testsuite/unordered_set/allocator/move.cc: Likewise. + * testsuite/unordered_set/allocator/move_assign.cc: Likewise. + * testsuite/unordered_set/allocator/swap.cc: Likewise. + * testsuite/unordered_set/buckets/swap.cc: Likewise. + * testsuite/unordered_set/cons/moveable.cc: Likewise. + * testsuite/unordered_set/debug/construct5_neg.cc: Likewise. + * testsuite/unordered_set/debug/debug_functions.cc: Likewise. + * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise. + * testsuite/unordered_set/debug/move_neg.cc: Likewise. + * testsuite/unordered_set/erase/1.cc: Likewise. + * testsuite/unordered_set/erase/24061-set.cc: Likewise. + * testsuite/unordered_set/hash_policy/26132.cc: Likewise. + * testsuite/unordered_set/hash_policy/71181.cc: Likewise. + * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise. + * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise. + * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise. + * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise. + * testsuite/unordered_set/hash_policy/rehash.cc: Likewise. + * testsuite/unordered_set/init-list.cc: Likewise. + * testsuite/unordered_set/insert/24061-set.cc: Likewise. + * testsuite/unordered_set/insert/hash_policy.cc: Likewise. + * testsuite/unordered_set/insert/move_range.cc: Likewise. + * testsuite/unordered_set/insert/set_range.cc: Likewise. + * testsuite/unordered_set/insert/set_single.cc: Likewise. + * testsuite/unordered_set/insert/set_single_move.cc: Likewise. + * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise. + * testsuite/unordered_set/modifiers/emplace.cc: Likewise. + * testsuite/unordered_set/modifiers/extract.cc: Likewise. + * testsuite/unordered_set/modifiers/merge.cc: Likewise. + * testsuite/unordered_set/modifiers/reserve.cc: Likewise. + * testsuite/unordered_set/modifiers/swap.cc: Likewise. + * testsuite/unordered_set/operations/count.cc: Likewise. + * testsuite/unordered_set/operators/1.cc: Likewise. + * testsuite/vector/allocator/copy.cc: Likewise. + * testsuite/vector/allocator/copy_assign.cc: Likewise. + * testsuite/vector/allocator/ext_ptr.cc: Likewise. + * testsuite/vector/allocator/minimal.cc: Likewise. + * testsuite/vector/allocator/move.cc: Likewise. + * testsuite/vector/allocator/move_assign.cc: Likewise. + * testsuite/vector/allocator/swap.cc: Likewise. + * testsuite/vector/bool/6886.cc: Likewise. + * testsuite/vector/bool/72847.cc: Likewise. + * testsuite/vector/bool/allocator/copy.cc: Likewise. + * testsuite/vector/bool/allocator/copy_assign.cc: Likewise. + * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise. + * testsuite/vector/bool/allocator/move.cc: Likewise. + * testsuite/vector/bool/allocator/move_assign.cc: Likewise. + * testsuite/vector/bool/allocator/swap.cc: Likewise. + * testsuite/vector/bool/capacity/1.cc: Likewise. + * testsuite/vector/bool/capacity/29134.cc: Likewise. + * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise. + * testsuite/vector/bool/cons/1.cc: Likewise. + * testsuite/vector/bool/cons/2.cc: Likewise. + * testsuite/vector/bool/modifiers/erase/1.cc: Likewise. + * testsuite/vector/bool/modifiers/insert/1.cc: Likewise. + * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise. + * testsuite/vector/bool/modifiers/swap/1.cc: Likewise. + * testsuite/vector/bool/modifiers/swap/2.cc: Likewise. + * testsuite/vector/bool/swap.cc: Likewise. + * testsuite/vector/capacity/1.cc: Likewise. + * testsuite/vector/capacity/2.cc: Likewise. + * testsuite/vector/capacity/29134-2.cc: Likewise. + * testsuite/vector/capacity/29134.cc: Likewise. + * testsuite/vector/capacity/44190.cc: Likewise. + * testsuite/vector/capacity/8230.cc: Likewise. + * testsuite/vector/capacity/reserve/moveable.cc: Likewise. + * testsuite/vector/capacity/reserve/moveable2.cc: Likewise. + * testsuite/vector/capacity/resize/1.cc: Likewise. + * testsuite/vector/capacity/resize/moveable.cc: Likewise. + * testsuite/vector/capacity/resize/moveable2.cc: Likewise. + * testsuite/vector/capacity/resize/resize_size.cc: Likewise. + * testsuite/vector/capacity/shrink_to_fit.cc: Likewise. + * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise. + * testsuite/vector/cons/3.cc: Likewise. + * testsuite/vector/cons/4.cc: Likewise. + * testsuite/vector/cons/cons_size.cc: Likewise. + * testsuite/vector/cons/moveable.cc: Likewise. + * testsuite/vector/data_access/1.cc: Likewise. + * testsuite/vector/debug/debug_functions.cc: Likewise. + * testsuite/vector/debug/move_assign_neg.cc: Likewise. + * testsuite/vector/debug/move_neg.cc: Likewise. + * testsuite/vector/debug/multithreaded_swap.cc: Likewise. + * testsuite/vector/element_access/1.cc: Likewise. + * testsuite/vector/ext_pointer/citerators.cc: Likewise. + * testsuite/vector/ext_pointer/data_access.cc: Likewise. + * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise. + * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise. + * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise. + * testsuite/vector/ext_pointer/resize.cc: Likewise. + * testsuite/vector/modifiers/1.cc: Likewise. + * testsuite/vector/modifiers/2.cc: Likewise. + * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise. + * testsuite/vector/modifiers/erase/1.cc: Likewise. + * testsuite/vector/modifiers/erase/moveable.cc: Likewise. + * testsuite/vector/modifiers/insert/1.cc: Likewise. + * testsuite/vector/modifiers/insert/self_insert.cc: Likewise. + * testsuite/vector/modifiers/moveable.cc: Likewise. + * testsuite/vector/modifiers/moveable2.cc: Likewise. + * testsuite/vector/modifiers/push_back/49836.cc: Likewise. + * testsuite/vector/modifiers/swap/1.cc: Likewise. + * testsuite/vector/modifiers/swap/2.cc: Likewise. + * testsuite/vector/modifiers/swap/3.cc: Likewise. + * testsuite/vector/zero_sized_allocations.cc: Likewise. + +2016-10-17 Jonathan Wakely + + PR libstdc++/77998 + * include/std/future (__future_base::_Deferred_state) + (__future_base::_Async_state_impl): Use decltype to deduce return + type, instead of _Invoker::result_type. + * include/std/thread (thread::_Invoker::operator()): Likewise. + (thread::_Invoker::result_type): Remove. + + PR libstdc++/77987 + * include/bits/unique_ptr.h (unique_ptr::reset(U)): Copy + value to pointer of the correct type to swap, to support conversions + allowed by LWG 2118 / N4089. + * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for + incompatible deleters from ... + * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here. + * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for + incompatible pointers to ... + * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move + destructor definition to base class. Test for invalid derived-to-base + conversion. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back): + Return a reference in C++17 mode. + * include/bits/forward_list.h (forward_list::emplace_front): Likewise. + * include/bits/stl_bvector.h (vector::emplace_back): Likewise. + * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back): + Likewise. + * include/bits/stl_list.h (list::emplace_front, list::emplace_back): + Likewise. + * include/bits/stl_queue.h (queue::emplace): Likewise. + * include/bits/stl_stack.h (stack::emplace): Likewise. + * include/bits/stl_vector.h (vector::emplace_back): Likewise. + * include/bits/vector.tcc (vector::emplace_back): Likewise. + * include/debug/deque (__gnu_debug::deque::emplace_front) + (__gnu_debug::deque::emplace_back): Likewise. + * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise. + * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: + New. + * testsuite/23_containers/forward_list/modifiers/ + emplace_cxx17_return.cc: New. + * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New. + * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New. + * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New. + * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New. + * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: + New. + +2016-10-16 Paolo Carlini + + * testsuite/22_locale/classification/isblank.cc: Remove 'test' + variables. + * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. + * testsuite/22_locale/codecvt/length/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/length/char/2.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. + * testsuite/22_locale/collate/compare/char/1.cc: Likewise. + * testsuite/22_locale/collate/compare/char/2.cc: Likewise. + * testsuite/22_locale/collate/compare/char/3.cc: Likewise. + * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise. + * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise. + * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise. + * testsuite/22_locale/collate/hash/char/1.cc: Likewise. + * testsuite/22_locale/collate/hash/char/2.cc: Likewise. + * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise. + * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise. + * testsuite/22_locale/collate/transform/char/2.cc: Likewise. + * testsuite/22_locale/collate/transform/char/28277.cc: Likewise. + * testsuite/22_locale/collate/transform/char/3.cc: Likewise. + * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise. + * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise. + * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise. + * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/ctype/cons/char/1.cc: Likewise. + * testsuite/22_locale/ctype/is/char/1.cc: Likewise. + * testsuite/22_locale/ctype/is/char/2.cc: Likewise. + * testsuite/22_locale/ctype/is/char/3.cc: Likewise. + * testsuite/22_locale/ctype/is/char/9858.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. + * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise. + * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise. + * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise. + * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise. + * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise. + * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise. + * testsuite/22_locale/ctype/scan/char/1.cc: Likewise. + * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise. + * testsuite/22_locale/ctype/to/char/1.cc: Likewise. + * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise. + * testsuite/22_locale/ctype/widen/char/1.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise. + * testsuite/22_locale/ctype_base/11844.cc: Likewise. + * testsuite/22_locale/facet/1.cc: Likewise. + * testsuite/22_locale/facet/2.cc: Likewise. + * testsuite/22_locale/facet/25421.cc: Likewise. + * testsuite/22_locale/global_templates/1.cc: Likewise. + * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: + Likewise. + * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: + Likewise. + * testsuite/22_locale/locale/13630.cc: Likewise. + * testsuite/22_locale/locale/cons/12352.cc: Likewise. + * testsuite/22_locale/locale/cons/12438.cc: Likewise. + * testsuite/22_locale/locale/cons/2.cc: Likewise. + * testsuite/22_locale/locale/cons/29217.cc: Likewise. + * testsuite/22_locale/locale/cons/38365.cc: Likewise. + * testsuite/22_locale/locale/cons/38368.cc: Likewise. + * testsuite/22_locale/locale/cons/4.cc: Likewise. + * testsuite/22_locale/locale/cons/40184.cc: Likewise. + * testsuite/22_locale/locale/cons/5.cc: Likewise. + * testsuite/22_locale/locale/cons/6.cc: Likewise. + * testsuite/22_locale/locale/cons/7.cc: Likewise. + * testsuite/22_locale/locale/cons/7222-c.cc: Likewise. + * testsuite/22_locale/locale/cons/7222-env.cc: Likewise. + * testsuite/22_locale/locale/cons/8.cc: Likewise. + * testsuite/22_locale/locale/cons/unicode.cc: Likewise. + * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise. + * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise. + * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise. + * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise. + * testsuite/22_locale/locale/operations/1.cc: Likewise. + * testsuite/22_locale/locale/operations/2.cc: Likewise. + * testsuite/22_locale/messages/13631.cc: Likewise. + * testsuite/22_locale/messages/members/char/1.cc: Likewise. + * testsuite/22_locale/messages/members/char/2.cc: Likewise. + * testsuite/22_locale/messages/members/char/3.cc: Likewise. + * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/money_get/get/char/1.cc: Likewise. + * testsuite/22_locale/money_get/get/char/10.cc: Likewise. + * testsuite/22_locale/money_get/get/char/11.cc: Likewise. + * testsuite/22_locale/money_get/get/char/11528.cc: Likewise. + * testsuite/22_locale/money_get/get/char/12.cc: Likewise. + * testsuite/22_locale/money_get/get/char/13.cc: Likewise. + * testsuite/22_locale/money_get/get/char/14.cc: Likewise. + * testsuite/22_locale/money_get/get/char/15.cc: Likewise. + * testsuite/22_locale/money_get/get/char/16.cc: Likewise. + * testsuite/22_locale/money_get/get/char/17.cc: Likewise. + * testsuite/22_locale/money_get/get/char/18.cc: Likewise. + * testsuite/22_locale/money_get/get/char/19.cc: Likewise. + * testsuite/22_locale/money_get/get/char/2.cc: Likewise. + * testsuite/22_locale/money_get/get/char/22131.cc: Likewise. + * testsuite/22_locale/money_get/get/char/3.cc: Likewise. + * testsuite/22_locale/money_get/get/char/38399.cc: Likewise. + * testsuite/22_locale/money_get/get/char/39168.cc: Likewise. + * testsuite/22_locale/money_get/get/char/4.cc: Likewise. + * testsuite/22_locale/money_get/get/char/5.cc: Likewise. + * testsuite/22_locale/money_get/get/char/6.cc: Likewise. + * testsuite/22_locale/money_get/get/char/7.cc: Likewise. + * testsuite/22_locale/money_get/get/char/8.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise. + * testsuite/22_locale/money_put/put/char/1.cc: Likewise. + * testsuite/22_locale/money_put/put/char/12971.cc: Likewise. + * testsuite/22_locale/money_put/put/char/2.cc: Likewise. + * testsuite/22_locale/money_put/put/char/3.cc: Likewise. + * testsuite/22_locale/money_put/put/char/39168.cc: Likewise. + * testsuite/22_locale/money_put/put/char/4.cc: Likewise. + * testsuite/22_locale/money_put/put/char/5.cc: Likewise. + * testsuite/22_locale/money_put/put/char/6.cc: Likewise. + * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise. + * testsuite/22_locale/moneypunct/40712.cc: Likewise. + * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise. + * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise. + * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise. + * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise. + * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise. + * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise. + * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/num_get/get/char/1.cc: Likewise. + * testsuite/22_locale/num_get/get/char/10.cc: Likewise. + * testsuite/22_locale/num_get/get/char/11.cc: Likewise. + * testsuite/22_locale/num_get/get/char/12.cc: Likewise. + * testsuite/22_locale/num_get/get/char/13.cc: Likewise. + * testsuite/22_locale/num_get/get/char/14.cc: Likewise. + * testsuite/22_locale/num_get/get/char/15.cc: Likewise. + * testsuite/22_locale/num_get/get/char/16.cc: Likewise. + * testsuite/22_locale/num_get/get/char/2.cc: Likewise. + * testsuite/22_locale/num_get/get/char/22131.cc: Likewise. + * testsuite/22_locale/num_get/get/char/23953.cc: Likewise. + * testsuite/22_locale/num_get/get/char/3.cc: Likewise. + * testsuite/22_locale/num_get/get/char/37958.cc: Likewise. + * testsuite/22_locale/num_get/get/char/39168.cc: Likewise. + * testsuite/22_locale/num_get/get/char/39802.cc: Likewise. + * testsuite/22_locale/num_get/get/char/4.cc: Likewise. + * testsuite/22_locale/num_get/get/char/5.cc: Likewise. + * testsuite/22_locale/num_get/get/char/6.cc: Likewise. + * testsuite/22_locale/num_get/get/char/7.cc: Likewise. + * testsuite/22_locale/num_get/get/char/8.cc: Likewise. + * testsuite/22_locale/num_get/get/char/9.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise. + * testsuite/22_locale/num_put/put/char/1.cc: Likewise. + * testsuite/22_locale/num_put/put/char/10.cc: Likewise. + * testsuite/22_locale/num_put/put/char/11.cc: Likewise. + * testsuite/22_locale/num_put/put/char/12.cc: Likewise. + * testsuite/22_locale/num_put/put/char/14220.cc: Likewise. + * testsuite/22_locale/num_put/put/char/15565.cc: Likewise. + * testsuite/22_locale/num_put/put/char/2.cc: Likewise. + * testsuite/22_locale/num_put/put/char/20909.cc: Likewise. + * testsuite/22_locale/num_put/put/char/20914.cc: Likewise. + * testsuite/22_locale/num_put/put/char/23953.cc: Likewise. + * testsuite/22_locale/num_put/put/char/3.cc: Likewise. + * testsuite/22_locale/num_put/put/char/38196.cc: Likewise. + * testsuite/22_locale/num_put/put/char/38210.cc: Likewise. + * testsuite/22_locale/num_put/put/char/4.cc: Likewise. + * testsuite/22_locale/num_put/put/char/5.cc: Likewise. + * testsuite/22_locale/num_put/put/char/6.cc: Likewise. + * testsuite/22_locale/num_put/put/char/7.cc: Likewise. + * testsuite/22_locale/num_put/put/char/8.cc: Likewise. + * testsuite/22_locale/num_put/put/char/9.cc: Likewise. + * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/1.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/2.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/3.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise. + * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise. + * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise. + * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise. + * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise. + * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_put/put/char/1.cc: Likewise. + * testsuite/22_locale/time_put/put/char/10.cc: Likewise. + * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise. + * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise. + * testsuite/22_locale/time_put/put/char/17038.cc: Likewise. + * testsuite/22_locale/time_put/put/char/2.cc: Likewise. + * testsuite/22_locale/time_put/put/char/3.cc: Likewise. + * testsuite/22_locale/time_put/put/char/4.cc: Likewise. + * testsuite/22_locale/time_put/put/char/5.cc: Likewise. + * testsuite/22_locale/time_put/put/char/6.cc: Likewise. + * testsuite/22_locale/time_put/put/char/7.cc: Likewise. + * testsuite/22_locale/time_put/put/char/8.cc: Likewise. + * testsuite/22_locale/time_put/put/char/9.cc: Likewise. + * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise. + * testsuite/30_threads/async/42819.cc: Likewise. + * testsuite/30_threads/async/any.cc: Likewise. + * testsuite/30_threads/async/async.cc: Likewise. + * testsuite/30_threads/async/except.cc: Likewise. + * testsuite/30_threads/async/launch.cc: Likewise. + * testsuite/30_threads/async/sync.cc: Likewise. + * testsuite/30_threads/call_once/call_once1.cc: Likewise. + * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. + * testsuite/30_threads/condition_variable/members/1.cc: Likewise. + * testsuite/30_threads/condition_variable/members/2.cc: Likewise. + * testsuite/30_threads/condition_variable/members/3.cc: Likewise. + * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. + * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. + * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. + * testsuite/30_threads/future/members/45133.cc: Likewise. + * testsuite/30_threads/future/members/get.cc: Likewise. + * testsuite/30_threads/future/members/get2.cc: Likewise. + * testsuite/30_threads/future/members/share.cc: Likewise. + * testsuite/30_threads/future/members/valid.cc: Likewise. + * testsuite/30_threads/future/members/wait_for.cc: Likewise. + * testsuite/30_threads/future/members/wait_until.cc: Likewise. + * testsuite/30_threads/lock/1.cc: Likewise. + * testsuite/30_threads/lock/2.cc: Likewise. + * testsuite/30_threads/lock/3.cc: Likewise. + * testsuite/30_threads/lock/4.cc: Likewise. + * testsuite/30_threads/lock_guard/cons/1.cc: Likewise. + * testsuite/30_threads/mutex/cons/1.cc: Likewise. + * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. + * testsuite/30_threads/mutex/lock/1.cc: Likewise. + * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. + * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: + Likewise. + * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. + * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. + * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. + * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. + * testsuite/30_threads/promise/cons/move.cc: Likewise. + * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. + * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. + * testsuite/30_threads/promise/members/get_future.cc: Likewise. + * testsuite/30_threads/promise/members/set_value.cc: Likewise. + * testsuite/30_threads/promise/members/set_value3.cc: Likewise. + * testsuite/30_threads/promise/members/swap.cc: Likewise. + * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: + Likewise. + * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/shared_future/members/45133.cc: Likewise. + * testsuite/30_threads/shared_future/members/get.cc: Likewise. + * testsuite/30_threads/shared_future/members/get2.cc: Likewise. + * testsuite/30_threads/shared_future/members/valid.cc: Likewise. + * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. + * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. + * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. + * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. + * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. + * testsuite/30_threads/this_thread/1.cc: Likewise. + * testsuite/30_threads/this_thread/2.cc: Likewise. + * testsuite/30_threads/this_thread/3.cc: Likewise. + * testsuite/30_threads/this_thread/4.cc: Likewise. + * testsuite/30_threads/this_thread/60421.cc: Likewise. + * testsuite/30_threads/thread/cons/1.cc: Likewise. + * testsuite/30_threads/thread/cons/2.cc: Likewise. + * testsuite/30_threads/thread/cons/3.cc: Likewise. + * testsuite/30_threads/thread/cons/4.cc: Likewise. + * testsuite/30_threads/thread/cons/5.cc: Likewise. + * testsuite/30_threads/thread/cons/6.cc: Likewise. + * testsuite/30_threads/thread/cons/7.cc: Likewise. + * testsuite/30_threads/thread/cons/8.cc: Likewise. + * testsuite/30_threads/thread/cons/9.cc: Likewise. + * testsuite/30_threads/thread/cons/moveable.cc: Likewise. + * testsuite/30_threads/thread/members/1.cc: Likewise. + * testsuite/30_threads/thread/members/2.cc: Likewise. + * testsuite/30_threads/thread/members/3.cc: Likewise. + * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. + * testsuite/30_threads/thread/swap/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. + * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. + * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/try_lock/1.cc: Likewise. + * testsuite/30_threads/try_lock/2.cc: Likewise. + * testsuite/30_threads/try_lock/3.cc: Likewise. + * testsuite/30_threads/try_lock/4.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. + * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. + * testsuite/tr1/2_general_utilities/enable_shared_from_this/ + not_shared.cc: Likewise. + * testsuite/tr1/2_general_utilities/enable_shared_from_this/ + not_shared2.cc: Likewise. + * testsuite/tr1/2_general_utilities/enable_shared_from_this/ + not_shared3.cc: Likewise. + * testsuite/tr1/2_general_utilities/enable_shared_from_this/ + shared.cc: Likewise. + * testsuite/tr1/2_general_utilities/enable_shared_from_this/ + still_shared.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/ + auto_ptr_rvalue_neg.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/ + shared_ptr_neg.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/ + default_weaktoshared.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/ + mutex_weaktoshared.cc: Likewise. + * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise. + * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise. + * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise. + * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise. + * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise. + * testsuite/tr1/3_function_objects/function/1.cc: Likewise. + * testsuite/tr1/3_function_objects/function/2.cc: Likewise. + * testsuite/tr1/3_function_objects/function/3.cc: Likewise. + * testsuite/tr1/3_function_objects/function/4.cc: Likewise. + * testsuite/tr1/3_function_objects/function/5.cc: Likewise. + * testsuite/tr1/3_function_objects/function/6.cc: Likewise. + * testsuite/tr1/3_function_objects/function/7.cc: Likewise. + * testsuite/tr1/3_function_objects/function/8.cc: Likewise. + * testsuite/tr1/3_function_objects/function/9.cc: Likewise. + * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc: + Likewise. + * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: + Likewise. + * testsuite/tr1/3_function_objects/result_of.cc: Likewise. + * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/integral_constant/ + static_definition.cc: Likewise. + * testsuite/tr1/4_metaprogramming/integral_constant/ + true_false_value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc: + Likewise. + * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise. + * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ + equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ + not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ + serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ + cons/default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ + cons/gen1.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ + operators/equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ + operators/not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ + operators/serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ + cons/default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ + cons/gen1.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ + operators/equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ + operators/not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ + operators/serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/random_device/cons/ + default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/random_device/cons/ + token.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ + cons/default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ + cons/gen1.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ + operators/equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ + operators/not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ + operators/serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ + cons/default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ + cons/gen1.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ + operators/equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ + operators/not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ + operators/serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc: + Likewise. + * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/ + default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/ + range.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/ + default.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ + equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ + not_equal.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ + serialize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 08_cyl_bessel_i/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 08_cyl_bessel_i/pr56216.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 09_cyl_bessel_j/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 10_cyl_bessel_k/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 11_cyl_neumann/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 16_hermite/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 21_sph_bessel/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 23_sph_neumann/check_value.cc: Likewise. + * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise. + * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise. + * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/equal.cc: + Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/greater.cc: + Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/ + greater_or_equal.cc: Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/less.cc: + Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/ + less_or_equal.cc: Likewise. + * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc: + Likewise. + * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: + Likewise. + * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise. + * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise. + * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise. + * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: + Likewise. + * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise. + * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise. + * testsuite/tr1/6_containers/array/requirements/member_swap.cc: + Likewise. + * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc: + Likewise. + * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc: + Likewise. + * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise. + * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc: + Likewise. + * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc: + Likewise. + * testsuite/tr1/6_containers/hash/24799.cc: Likewise. + * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise. + * + testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc: + Likewise. + * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise. + * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise. + * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise. + * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: + Likewise. + * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: + Likewise. + * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise. + * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise. + * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise. + * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/capacity/ + 29134-multimap.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/erase/ + 24061-multimap.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_multimap/insert/ + 24061-multimap.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/insert/ + multimap_range.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/insert/ + multimap_single.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/capacity/ + 29134-multiset.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/erase/ + 24061-multiset.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_multiset/insert/ + 24061-multiset.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/insert/ + multiset_range.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/insert/ + multiset_single.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc: + Likewise. + * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise. + * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise. + * testsuite/tr1/6_containers/utility/pair.cc: Likewise. + * testsuite/tr1/7_regular_expressions/match_results/ctors/char/ + default.cc: Likewise. + * testsuite/tr1/7_regular_expressions/regex_traits/char/ + translate_nocase.cc: Likewise. + * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc: + Likewise. + * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ + translate_nocase.cc: Likewise. + * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc: + Likewise. + * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise. + * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise. + +2016-10-16 Ville Voutilainen + + Make sure the return value of malloc_allocator::allocate + is zero-initialized so that checking it for non-zero works + later. + * include/ext/malloc_allocator.h (malloc_allocator::allocate): + Initialize the return value. + * testsuite/ext/malloc_allocator/sanity.cc: New. + +2016-10-14 Eelis van der Weegen + + * include/bits/stl_algo.h (shuffle): Extract two random numbers from + each generator invocation when its range is large enough. + +2016-10-14 Jonathan Wakely + + * testsuite/experimental/algorithm/sample.cc: Qualify calls to + resolve ambiguity between std::sample and std::experimental::sample. + + * include/std/functional (_Mu, _Mu): + Simplify forwarding from tuple of references. + (_Maybe_wrap_member_pointer): Remove. + (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v): + Use std::__invoke. + (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type) + (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify + return type deduction. + (_Bind::operator(), _Bind::operator() const): Use new helpers. + (_Bind::operator() volatile, _Bind::operator() const volatile): + Likewise. Add deprecated attribute for C++17 mode. + (_Bind_result::__call): Use std::__invoke. + (_Bind_result::operator() volatile) + (_Bind_result::operator() const volatile): Add deprecated attribute. + (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove. + (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer. + (bind, bind): Don't use __maybe_type. + * src/c++11/compatibility-thread-c++0x.cc + (_Maybe_wrap_member_pointer): Define here for compatibility symbols. + * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification + in C++17 mode. + * testsuite/20_util/bind/cv_quals.cc: Likewise. + * testsuite/20_util/bind/cv_quals_2.cc: Likewise. + + * include/std/scoped_allocator (scoped_allocator_adaptor): Forward + piecewise construction arguments as tuples of references, to avoid + copies (related to LWG 2511). + * testsuite/20_util/scoped_allocator/construct_pair.cc: New test. + +2016-10-14 Paolo Carlini + + * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables. + * testsuite/26_numerics/adjacent_difference/1.cc: Likewise. + * testsuite/26_numerics/complex/13450.cc: Likewise. + * testsuite/26_numerics/complex/50880.cc: Likewise. + * testsuite/26_numerics/complex/c99.cc: Likewise. + * testsuite/26_numerics/complex/cons/48760.cc: Likewise. + * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise. + * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise. + * testsuite/26_numerics/complex/dr844.cc: Likewise. + * testsuite/26_numerics/complex/inserters_extractors/char/1.cc: + Likewise. + * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc: + Likewise. + * testsuite/26_numerics/complex/value_operations/1.cc: Likewise. + * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise. + * testsuite/26_numerics/headers/cmath/19322.cc: Likewise. + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++11.c: Likewise.c + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++98.cc: Likewise. + * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise. + * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise. + * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. + * testsuite/26_numerics/headers/cmath/powi.cc: Likewise. + * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. + * testsuite/26_numerics/inner_product/1.cc: Likewise. + * testsuite/26_numerics/iota/1.cc: Likewise. + * testsuite/26_numerics/partial_sum/1.cc: Likewise. + * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/bernoulli_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/bernoulli_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/binomial_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/binomial_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/binomial_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc: + Likewise. + * testsuite/26_numerics/random/cauchy_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/chi_squared_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/chi_squared_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/chi_squared_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/chi_squared_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/default_random_engine.cc: Likewise. + * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc: + Likewise. + * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc: + Likewise. + * testsuite/26_numerics/random/discard_block_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/discard_block_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/discrete_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/discrete_distribution/cons/ + initlist.cc: Likewise. + * testsuite/26_numerics/random/discrete_distribution/cons/ + num_xbound_fun.cc: Likewise. + * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: + Likewise. + * testsuite/26_numerics/random/discrete_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/discrete_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/exponential_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/exponential_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/exponential_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/exponential_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/fisher_f_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/fisher_f_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/gamma_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc: + Likewise. + * testsuite/26_numerics/random/gamma_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/geometric_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/geometric_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/geometric_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc: + Likewise. + * testsuite/26_numerics/random/independent_bits_engine/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/independent_bits_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/independent_bits_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/knuth_b.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/cons/ + 55215.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/operators/ + 51795.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/lognormal_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/lognormal_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc: + Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/minstd_rand.cc: Likewise. + * testsuite/26_numerics/random/minstd_rand0.cc: Likewise. + * testsuite/26_numerics/random/mt19937.cc: Likewise. + * testsuite/26_numerics/random/mt19937_64.cc: Likewise. + * testsuite/26_numerics/random/negative_binomial_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/negative_binomial_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/negative_binomial_distribution/ + operators/equal.cc: Likewise. + * testsuite/26_numerics/random/negative_binomial_distribution/ + operators/inequal.cc: Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/normal_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/normal_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ + initlist_fun.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ + num_xbound_fun.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ + range.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/ + operators/equal.cc: Likewise. + * testsuite/26_numerics/random/piecewise_constant_distribution/ + operators/inequal.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ + initlist_fun.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ + num_xbound_fun.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ + range.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/ + operators/equal.cc: Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/ + operators/inequal.cc: Likewise. + * testsuite/26_numerics/random/poisson_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/poisson_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/poisson_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise. + * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise. + * testsuite/26_numerics/random/ranlux24.cc: Likewise. + * testsuite/26_numerics/random/ranlux24_base.cc: Likewise. + * testsuite/26_numerics/random/ranlux48.cc: Likewise. + * testsuite/26_numerics/random/ranlux48_base.cc: Likewise. + * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc: + Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/student_t_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/student_t_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ + 55215.cc: Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ + serialize.cc: Likewise. + * testsuite/26_numerics/random/uniform_int_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/uniform_int_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/uniform_int_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/uniform_int_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/uniform_real_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/uniform_real_distribution/cons/ + parms.cc: Likewise. + * testsuite/26_numerics/random/uniform_real_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/uniform_real_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/random/weibull_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/weibull_distribution/operators/ + equal.cc: Likewise. + * testsuite/26_numerics/random/weibull_distribution/operators/ + inequal.cc: Likewise. + * testsuite/26_numerics/slice/1.cc: Likewise. + * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise. + * testsuite/26_numerics/valarray/27867.cc: Likewise. + * testsuite/26_numerics/valarray/28277.cc: Likewise. + * testsuite/26_numerics/valarray/30416.cc: Likewise. + * testsuite/26_numerics/valarray/dr543.cc: Likewise. + * testsuite/26_numerics/valarray/dr630-1.cc: Likewise. + * testsuite/26_numerics/valarray/dr630-2.cc: Likewise. + * testsuite/26_numerics/valarray/dr630-3.C: Likewise. + * testsuite/26_numerics/valarray/init-list.cc: Likewise. + * testsuite/26_numerics/valarray/moveable.cc: Likewise. + * testsuite/26_numerics/valarray/operators.cc: Likewise. + * testsuite/26_numerics/valarray/swap.cc: Likewise. + * testsuite/experimental/deque/erasure.cc: Likewise. + * testsuite/experimental/filesystem/iterators/directory_iterator.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/current_path.cc: + Likewise. + * testsuite/experimental/filesystem/operations/exists.cc: Likewise. + * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + Likewise. + * testsuite/experimental/filesystem/operations/permissions.cc: Likewise. + * testsuite/experimental/filesystem/operations/status.cc: Likewise. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Likewise. + * testsuite/experimental/filesystem/path/native/string.cc: Likewise. + * testsuite/experimental/forward_list/erasure.cc: Likewise. + * testsuite/experimental/list/erasure.cc: Likewise. + * testsuite/experimental/map/erasure.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/observers/operators.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: + Likewise. + * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: + Likewise. + * testsuite/experimental/memory_resource/1.cc: Likewise. + * testsuite/experimental/memory_resource/null_memory_resource.cc: + Likewise. + * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise. + * testsuite/experimental/set/erasure.cc: Likewise. + * testsuite/experimental/string/erasure.cc: Likewise. + * testsuite/experimental/string_view/capacity/1.cc: Likewise. + * testsuite/experimental/string_view/cons/char/1.cc: Likewise. + * testsuite/experimental/string_view/cons/char/2.cc: Likewise. + * testsuite/experimental/string_view/cons/char/3.cc: Likewise. + * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise. + * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise. + * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise. + * testsuite/experimental/string_view/element_access/char/1.cc: Likewise. + * testsuite/experimental/string_view/element_access/char/empty.cc: + Likewise. + * testsuite/experimental/string_view/element_access/char/ + front_back.cc: Likewise. + * testsuite/experimental/string_view/element_access/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/element_access/wchar_t/empty.cc: + Likewise. + * testsuite/experimental/string_view/element_access/wchar_t/ + front_back.cc: Likewise. + * testsuite/experimental/string_view/inserters/char/1.cc: Likewise. + * testsuite/experimental/string_view/inserters/char/2.cc: Likewise. + * testsuite/experimental/string_view/inserters/char/3.cc: Likewise. + * testsuite/experimental/string_view/inserters/pod/10081-out.cc: + Likewise. + * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise. + * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise. + * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise. + * testsuite/experimental/string_view/modifiers/remove_prefix/char/ + 1.cc: Likewise. + * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/ + 1.cc: Likewise. + * testsuite/experimental/string_view/modifiers/remove_suffix/char/ + 1.cc: Likewise. + * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/ + 1.cc: Likewise. + * testsuite/experimental/string_view/operations/compare/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/compare/char/ + 13650.cc: Likewise. + * testsuite/experimental/string_view/operations/compare/wchar_t/ + 1.cc: Likewise. + * testsuite/experimental/string_view/operations/compare/wchar_t/ + 13650.cc: Likewise. + * testsuite/experimental/string_view/operations/copy/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/data/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/char/2.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/char/3.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/char/4.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: + Likewise. + * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/char/2.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/char/3.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: + Likewise. + * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: + Likewise. + * testsuite/experimental/string_view/operations/substr/char/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc: + Likewise. + * testsuite/experimental/string_view/operations/to_string/1.cc: + Likewise. + * testsuite/experimental/string_view/operators/char/2.cc: Likewise. + * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise. + * testsuite/experimental/unordered_map/erasure.cc: Likewise. + * testsuite/experimental/unordered_set/erasure.cc: Likewise. + * testsuite/experimental/vector/erasure.cc: Likewise. + * testsuite/ext/array_allocator/1.cc: Likewise. + * testsuite/ext/array_allocator/2.cc: Likewise. + * testsuite/ext/array_allocator/3.cc: Likewise. + * testsuite/ext/array_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/codecvt/1.cc: Likewise. + * testsuite/ext/codecvt/char-1.cc: Likewise. + * testsuite/ext/codecvt/char-2.cc: Likewise. + * testsuite/ext/codecvt/wchar_t.cc: Likewise. + * testsuite/ext/enc_filebuf/char/13189.cc: Likewise. + * testsuite/ext/enc_filebuf/char/13598.cc: Likewise. + * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise. + * testsuite/ext/ext_pointer/1.cc: Likewise. + * testsuite/ext/ext_pointer/1_neg.cc: Likewise. + * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise. + * testsuite/ext/mt_allocator/tune-1.cc: Likewise. + * testsuite/ext/mt_allocator/tune-2.cc: Likewise. + * testsuite/ext/mt_allocator/tune-3.cc: Likewise. + * testsuite/ext/mt_allocator/tune-4.cc: Likewise. + * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/new_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/pod_char_traits.cc: Likewise. + * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/arcsine_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/arcsine_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/arcsine_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise. + * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise. + * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise. + * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise. + * testsuite/ext/random/hoyt_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: + Likewise. + * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: + Likewise. + * testsuite/ext/random/hypergeometric_distribution/operators/ + equal.cc: Likewise. + * testsuite/ext/random/hypergeometric_distribution/operators/ + inequal.cc: Likewise. + * testsuite/ext/random/hypergeometric_distribution/operators/ + serialize.cc: Likewise. + * testsuite/ext/random/k_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise. + * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise. + * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise. + * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/logistic_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/logistic_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/logistic_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/nakagami_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/nakagami_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/nakagami_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/normal_mv_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise. + * testsuite/ext/random/pareto_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/pareto_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise. + * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise. + * testsuite/ext/random/rice_distribution/operators/serialize.cc: + Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/ + default.cc: Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ + equal.cc: Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ + inequal.cc: Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ + serialize.cc: Likewise. + * testsuite/ext/random/triangular_distribution/cons/default.cc: + Likewise. + * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/triangular_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/triangular_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc: + Likewise. + * testsuite/ext/random/uniform_on_sphere_distribution/operators/ + equal.cc: Likewise. + * testsuite/ext/random/uniform_on_sphere_distribution/operators/ + generate.cc: Likewise. + * testsuite/ext/random/uniform_on_sphere_distribution/operators/ + inequal.cc: Likewise. + * testsuite/ext/random/uniform_on_sphere_distribution/operators/ + serialize.cc: Likewise. + * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise. + * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/von_mises_distribution/operators/equal.cc: + Likewise. + * testsuite/ext/random/von_mises_distribution/operators/inequal.cc: + Likewise. + * testsuite/ext/rope/2.cc: Likewise. + * testsuite/ext/rope/3.cc: Likewise. + * testsuite/ext/rope/4.cc: Likewise. + * testsuite/ext/rope/pthread7-rope.cc: Likewise. + * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. + * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. + * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise. + * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise. + * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise. + * testsuite/ext/stdio_filebuf/char/2.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise. + * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise. + * testsuite/ext/type_traits/add_unsigned.cc: Likewise. + * testsuite/ext/type_traits/remove_unsigned.cc: Likewise. + * testsuite/ext/vstring/capacity/29134.cc: Likewise. + * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise. + * testsuite/ext/vstring/cons/58415-1.cc: Likewise. + * testsuite/ext/vstring/cons/moveable.cc: Likewise. + * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. + * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise. + * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. + * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise. + * testsuite/ext/vstring/hash/char/1.cc: Likewise. + * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise. + * testsuite/ext/vstring/init-list.cc: Likewise. + * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise. + * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise. + * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise. + * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise. + * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise. + * testsuite/ext/vstring/operators/1.cc: Likewise. + * testsuite/ext/vstring/operators/2.cc: Likewise. + +2016-10-14 Jonathan Wakely + + PR libstdc++/65122 + * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use + aligned_alloc for types with extended alignment if available, + otherwise throw bad_alloc if malloc doesn't return a suitable value. + * include/ext/bitmap_allocator.h (bitmap_allocator::allocate) + (bitmap_allocator::deallocate): Use aligned new/delete for types with + extended alignment. + * include/ext/mt_allocator.h (__mt_alloc::allocate) + (__mt_alloc::deallocate): Likewise. + * include/ext/new_allocator.h (new_allocator::allocate) + (new_allocator::deallocate): Likewise. + * include/ext/pool_allocator.h (__pool_alloc::allocate) + (__pool_alloc::deallocate): Likewise. + * testsuite/20_util/allocator/overaligned.cc: New test. + * testsuite/ext/bitmap_allocator/overaligned.cc: New test. + * testsuite/ext/malloc_allocator/overaligned.cc: New test. + * testsuite/ext/mt_allocator/overaligned.cc: New test. + * testsuite/ext/new_allocator/overaligned.cc: New test. + * testsuite/ext/pool_allocator/overaligned.cc: New test. + +2016-10-14 Tim Shen + + PR libstdc++/77944 + * include/std/variant: Include for __try and + __catch. + +2016-10-14 Jonathan Wakely + + * include/std/functional (_Reference_wrapper_base_impl): Remove. + (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t. + (_Reference_wrapper_base): Inherit from new helpers. + +2016-10-13 Paolo Carlini + + * testsuite/24_iterators/container_access.cc: Remove 'test' variables. + * testsuite/24_iterators/istream_iterator/2.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise. + * testsuite/24_iterators/operations/next.cc: Likewise. + * testsuite/24_iterators/operations/prev.cc: Likewise. + * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise. + * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise. + * testsuite/24_iterators/range_access_cpp14.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/3.cc: Likewise. + * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise. + * testsuite/25_algorithms/all_of/1.cc: Likewise. + * testsuite/25_algorithms/any_of/1.cc: Likewise. + * testsuite/25_algorithms/binary_search/2.cc: Likewise. + * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. + * testsuite/25_algorithms/clamp/1.cc: Likewise. + * testsuite/25_algorithms/clamp/2.cc: Likewise. + * testsuite/25_algorithms/copy/1.cc: Likewise. + * testsuite/25_algorithms/copy/2.cc: Likewise. + * testsuite/25_algorithms/copy/3.cc: Likewise. + * testsuite/25_algorithms/copy/34595.cc: Likewise. + * testsuite/25_algorithms/copy/4.cc: Likewise. + * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise. + * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: + Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: + Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: + Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: + Likewise. + * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise. + * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise. + * testsuite/25_algorithms/copy_n/1.cc: Likewise. + * testsuite/25_algorithms/copy_n/2.cc: Likewise. + * testsuite/25_algorithms/copy_n/3.cc: Likewise. + * testsuite/25_algorithms/copy_n/4.cc: Likewise. + * testsuite/25_algorithms/copy_n/50119.cc: Likewise. + * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise. + * testsuite/25_algorithms/equal_range/2.cc: Likewise. + * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. + * testsuite/25_algorithms/fill/1.cc: Likewise. + * testsuite/25_algorithms/fill/2.cc: Likewise. + * testsuite/25_algorithms/fill/3.cc: Likewise. + * testsuite/25_algorithms/fill/4.cc: Likewise. + * testsuite/25_algorithms/fill_n/1.cc: Likewise. + * testsuite/25_algorithms/find/39546.cc: Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: + Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: + Likewise. + * testsuite/25_algorithms/find_if/1.cc: Likewise. + * testsuite/25_algorithms/find_if_not/1.cc: Likewise. + * testsuite/25_algorithms/for_each/1.cc: Likewise. + * testsuite/25_algorithms/heap/1.cc: Likewise. + * testsuite/25_algorithms/heap/moveable.cc: Likewise. + * testsuite/25_algorithms/heap/moveable2.cc: Likewise. + * testsuite/25_algorithms/heap/vectorbool.cc: Likewise. + * testsuite/25_algorithms/includes/1.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise. + * testsuite/25_algorithms/is_heap/1.cc: Likewise. + * testsuite/25_algorithms/is_heap_until/1.cc: Likewise. + * testsuite/25_algorithms/is_partitioned/1.cc: Likewise. + * testsuite/25_algorithms/is_permutation/1.cc: Likewise. + * testsuite/25_algorithms/is_permutation/2.cc: Likewise. + * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise. + * testsuite/25_algorithms/is_sorted/1.cc: Likewise. + * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise. + * testsuite/25_algorithms/iter_swap/20577.cc: Likewise. + * testsuite/25_algorithms/lower_bound/2.cc: Likewise. + * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. + * testsuite/25_algorithms/make_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/max/1.cc: Likewise. + * testsuite/25_algorithms/max/2.cc: Likewise. + * testsuite/25_algorithms/max/3.cc: Likewise. + * testsuite/25_algorithms/max/37547.cc: Likewise. + * testsuite/25_algorithms/max/4.cc: Likewise. + * testsuite/25_algorithms/min/1.cc: Likewise. + * testsuite/25_algorithms/min/2.cc: Likewise. + * testsuite/25_algorithms/min/3.cc: Likewise. + * testsuite/25_algorithms/min/37547.cc: Likewise. + * testsuite/25_algorithms/min/4.cc: Likewise. + * testsuite/25_algorithms/minmax/1.cc: Likewise. + * testsuite/25_algorithms/minmax/2.cc: Likewise. + * testsuite/25_algorithms/minmax/3.cc: Likewise. + * testsuite/25_algorithms/minmax/37547.cc: Likewise. + * testsuite/25_algorithms/minmax_element/1.cc: Likewise. + * testsuite/25_algorithms/move/1.cc: Likewise. + * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise. + * testsuite/25_algorithms/move_backward/1.cc: Likewise. + * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise. + * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise. + * testsuite/25_algorithms/none_of/1.cc: Likewise. + * testsuite/25_algorithms/nth_element/1.cc: Likewise. + * testsuite/25_algorithms/nth_element/2.cc: Likewise. + * testsuite/25_algorithms/nth_element/3.cc: Likewise. + * testsuite/25_algorithms/nth_element/moveable.cc: Likewise. + * testsuite/25_algorithms/nth_element/random_test.cc: Likewise. + * testsuite/25_algorithms/partial_sort/2.cc: Likewise. + * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc: + Likewise. + * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise. + * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. + * testsuite/25_algorithms/partition/1.cc: Likewise. + * testsuite/25_algorithms/partition/moveable.cc: Likewise. + * testsuite/25_algorithms/partition_copy/1.cc: Likewise. + * testsuite/25_algorithms/partition_point/1.cc: Likewise. + * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise. + * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. + * testsuite/25_algorithms/rotate/1.cc: Likewise. + * testsuite/25_algorithms/rotate/moveable.cc: Likewise. + * testsuite/25_algorithms/rotate/moveable2.cc: Likewise. + * testsuite/25_algorithms/rotate/rotate.cc: Likewise. + * testsuite/25_algorithms/search/1.cc: Likewise. + * testsuite/25_algorithms/search_n/58358.cc: Likewise. + * testsuite/25_algorithms/shuffle/1.cc: Likewise. + * testsuite/25_algorithms/sort/1.cc: Likewise. + * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise. + * testsuite/25_algorithms/sort/moveable.cc: Likewise. + * testsuite/25_algorithms/sort/random_test.cc: Likewise. + * testsuite/25_algorithms/sort/vectorbool.cc: Likewise. + * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise. + * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/stable_partition/1.cc: Likewise. + * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise. + * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise. + * testsuite/25_algorithms/stable_sort/2.cc: Likewise. + * testsuite/25_algorithms/stable_sort/3.cc: Likewise. + * testsuite/25_algorithms/stable_sort/49559.cc: Likewise. + * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc: + Likewise. + * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise. + * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise. + * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise. + * testsuite/25_algorithms/swap_ranges/1.cc: Likewise. + * testsuite/25_algorithms/unique/11480.cc: Likewise. + * testsuite/25_algorithms/unique/2.cc: Likewise. + * testsuite/25_algorithms/unique/moveable.cc: Likewise. + * testsuite/25_algorithms/unique_copy/1.cc: Likewise. + * testsuite/25_algorithms/unique_copy/2.cc: Likewise. + * testsuite/25_algorithms/unique_copy/26133.cc: Likewise. + * testsuite/25_algorithms/upper_bound/2.cc: Likewise. + * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/basic/ + string_range_00_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/basic/ + string_range_01_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/basic/ + string_range_02_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/ + anymatcher.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + cstring_questionmark.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + cstring_range.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_00_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_01_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_02_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + wstring_locale.cc: Likewise. + * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise. + * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise. + * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise. + * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise. + * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: + Likewise. + * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc: + Likewise. + * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc: + Likewise. + * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/extended/ + string_range_01_02_03.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise. + * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise. + * testsuite/28_regex/constants/error_type.cc: Likewise. + * testsuite/28_regex/constants/match_flag_type.cc: Likewise. + * testsuite/28_regex/init-list.cc: Likewise. + * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise. + * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: + Likewise. + * testsuite/28_regex/iterators/regex_iterator/char/ + string_position_01.cc + * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc: + Likewise. + * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/ + default.cc: Likewise. + * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise. + * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: + Likewise. + * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: + Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: + Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/ + default.cc: Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/ + default.cc: Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc: + Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ + string_01.cc: Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ + wstring_02.cc: Likewise. + * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise. + * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. + * testsuite/28_regex/match_results/format.cc: Likewise. + * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise. + * testsuite/28_regex/match_results/swap.cc: Likewise. + * testsuite/28_regex/match_results/typedefs.cc: Likewise. + * testsuite/28_regex/regex_error/regex_error.cc: Likewise. + * testsuite/28_regex/regression.cc: Likewise. + * testsuite/28_regex/sub_match/cast_char.cc: Likewise. + * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise. + * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise. + * testsuite/28_regex/sub_match/length.cc: Likewise. + * testsuite/28_regex/traits/char/ctor.cc: Likewise. + * testsuite/28_regex/traits/char/isctype.cc: Likewise. + * testsuite/28_regex/traits/char/length.cc: Likewise. + * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. + * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. + * testsuite/28_regex/traits/char/transform.cc: Likewise. + * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. + * testsuite/28_regex/traits/char/translate.cc: Likewise. + * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise. + * testsuite/28_regex/traits/char/user_defined.cc: Likewise. + * testsuite/28_regex/traits/char/value.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/length.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/value.cc: Likewise. + * testsuite/29_atomics/atomic/60658.cc: Likewise. + * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. + * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise. + * testsuite/backward/11460.cc: Likewise. + * testsuite/backward/hash_map/1.cc: Likewise. + * testsuite/backward/hash_map/25896.cc: Likewise. + * testsuite/backward/hash_set/1.cc: Likewise. + * testsuite/backward/hash_set/25896.cc: Likewise. + * testsuite/decimal/binary-arith.cc: Likewise. + * testsuite/decimal/comparison.cc: Likewise. + * testsuite/decimal/compound-assignment-memfunc.cc: Likewise. + * testsuite/decimal/compound-assignment.cc: Likewise. + * testsuite/decimal/conversion-from-float.cc: Likewise. + * testsuite/decimal/conversion-from-integral.cc: Likewise. + * testsuite/decimal/conversion-to-generic-float.cc: Likewise. + * testsuite/decimal/conversion-to-integral.cc: Likewise. + * testsuite/decimal/ctor.cc: Likewise. + * testsuite/decimal/incdec-memfunc.cc: Likewise. + * testsuite/decimal/incdec.cc: Likewise. + * testsuite/decimal/make-decimal.cc: Likewise. + * testsuite/decimal/pr54036-1.cc: Likewise. + * testsuite/decimal/pr54036-2.cc: Likewise. + * testsuite/decimal/pr54036-3.cc: Likewise. + * testsuite/decimal/unary-arith.cc: Likewise. + * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise. + * testsuite/special_functions/01_assoc_laguerre/check_value.cc: + Likewise. + * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise. + * testsuite/special_functions/02_assoc_legendre/check_value.cc: + Likewise. + * testsuite/special_functions/03_beta/check_nan.cc: Likewise. + * testsuite/special_functions/03_beta/check_value.cc: Likewise. + * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. + * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise. + * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. + * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise. + * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. + * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. + * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. + * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise. + * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. + * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. + * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. + * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. + * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. + * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. + * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. + * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. + * testsuite/special_functions/14_expint/check_nan.cc: Likewise. + * testsuite/special_functions/14_expint/check_value.cc: Likewise. + * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. + * testsuite/special_functions/15_hermite/check_value.cc: Likewise. + * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. + * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. + * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. + * testsuite/special_functions/17_legendre/check_value.cc: Likewise. + * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. + * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. + * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. + * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. + * testsuite/tr2/bases/value.cc: Likewise. + * testsuite/tr2/direct_bases/value.cc: Likewise. + * testsuite/util/debug/checks.h: Likewise. + * testsuite/util/debug/unordered_checks.h: Likewise. + * testsuite/util/testsuite_allocator.h: Likewise. + * testsuite/util/testsuite_api.h: Likewise. + * testsuite/util/testsuite_common_types.h: Likewise. + * testsuite/util/testsuite_random.h: Likewise. + * testsuite/util/testsuite_rvalref.h: Likewise. + +2016-10-13 Jonathan Wakely + + * include/bits/shared_ptr_base.h: Include . + [!__cpp_rtti]: Do not include . + * include/experimental/array: Do not include . + * include/experimental/memory: Include + instead of . + * include/experimental/propagate_const: Include , + , and instead of . + * include/experimental/tuple: Do not include . + * include/std/future: Include . + * include/std/memory: Do not include . + * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise. + * src/c++11/compatibility-thread-c++0x.cc: Include . + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add + missing includes. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. + * testsuite/20_util/specialized_algorithms/memory_management_tools/ + 1.cc: Likewise. + * testsuite/30_threads/call_once/60497.cc: Likewise. + * testsuite/30_threads/lock/2.cc: Likewise. + * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. + * testsuite/experimental/algorithm/sample.cc: Likewise. + * testsuite/experimental/array/make_array.cc: Likewise. + * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line. + * testsuite/experimental/propagate_const/assignment/move_neg.cc: + Adjust dg-error lines. + * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. + * testsuite/experimental/propagate_const/requirements2.cc: Likewise. + * testsuite/experimental/propagate_const/requirements3.cc: Likewise. + * testsuite/experimental/propagate_const/requirements4.cc: Likewise. + * testsuite/experimental/propagate_const/requirements5.cc: Likewise. + + * testsuite/experimental/algorithm/sample.cc: Add missing header. + + * include/experimental/propagate_const (element_type): Qualify + declval. + + * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY + instead of assert. + + * include/experiumental/functional (boyer_moore_searcher) + (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers + with _GLIBCXX_STD_C. + * include/std/functional: Likewise. + + * include/std/chrono (floor): Replace non-constexpr operation. + * testsuite/20_util/duration_cast/rounding.cc: Test conversion to + durations with floating pointer representations. + + * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple) + (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols. + + * include/std/functional (_Bind_simple, _Bind_simple_helper) + (__bind_simple): Remove. + * include/std/future: Include instead of . + (__future_base::_Task_state::_M_run) + (__future_base::_Task_state::_M_run_delayed): Use lambda expressions + instead of __bind_simple. + (__future_base::_Task_state::_S_maybe_wrap_ref): Remove. + (async): Use thread::__make_invoker instead of __bind_simple. + * include/std/thread: Include and instead of + . + (thread::_Invoker, thread::__make_invoker): Define helpers to do + INVOKE(DECAY_COPY(f), DECAY_COPY(args)...). + + * include/std/functional (_Not_fn): Make exception specifications + depend on whether negating the result can throw. + * testsuite/20_util/not_fn/1.cc: Move to ... + * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests + for types that can throw when negated and that cannot be negated. + + * include/bits/invoke.h (__invoke): Fix exception-specification. + * include/std/functional (invoke): Likewise. + * testsuite/20_util/function_objects/invoke/1.cc: New test. + +2016-10-12 Paolo Carlini + + * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of + __builtin_printf and __builtin_abort. + * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use. + * scripts/testsuite_flags.in: Likewise. + * testsuite/22_locale/time_get/get/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust. + * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: + Likewise. + * testsuite/27_io/objects/char/7.cc: Likewise. + * testsuite/27_io/objects/char/9661-1.cc: Likewise. + * testsuite/27_io/objects/wchar_t/7.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. + * testsuite/18_support/50594.cc: Remove 'test' variable, adjust. + * testsuite/18_support/bad_alloc/what.cc: Likewise. + * testsuite/18_support/bad_cast/what.cc: Likewise. + * testsuite/18_support/bad_exception/what.cc: Likewise. + * testsuite/18_support/bad_typeid/what.cc: Likewise. + * testsuite/18_support/exception/38732.cc: Likewise. + * testsuite/18_support/exception/what.cc: Likewise. + * testsuite/18_support/exception_ptr/64241.cc: Likewise. + * testsuite/18_support/exception_ptr/current_exception.cc: Likewise. + * testsuite/18_support/exception_ptr/lifespan.cc: Likewise. + * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise. + * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. + * testsuite/18_support/nested_exception/cons.cc: Likewise. + * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise. + * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. + * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise. + * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise. + * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise. + * testsuite/18_support/numeric_limits/digits10.cc: Likewise. + * testsuite/18_support/numeric_limits/dr559.cc: Likewise. + * testsuite/18_support/numeric_limits/epsilon.cc: Likewise. + * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise. + * testsuite/18_support/numeric_limits/is_signed.cc: Likewise. + * testsuite/18_support/numeric_limits/lowest.cc: Likewise. + * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. + * testsuite/18_support/numeric_limits/min_max.cc: Likewise. + * testsuite/18_support/numeric_limits/specialization_default_values.cc: + Likewise. + * testsuite/18_support/type_info/hash_code.cc: Likewise. + * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise. + * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise. + * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise. + * testsuite/19_diagnostics/error_category/operators/ + not_equal.cc: Likewise. + * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise. + * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise. + * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise. + * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise. + * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise. + * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise. + * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. + * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise. + * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: + Likewise. + * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise. + * testsuite/19_diagnostics/error_condition/operators/equal.cc: + Likewise. + * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: + Likewise. + * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise. + * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise. + * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise. + * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise. + * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise. + * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise. + * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise. + * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise. + * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. + * testsuite/19_diagnostics/system_error/what-1.cc: Likewise. + * testsuite/19_diagnostics/system_error/what-2.cc: Likewise. + * testsuite/19_diagnostics/system_error/what-3.cc: Likewise. + * testsuite/19_diagnostics/system_error/what-4.cc: Likewise. + * testsuite/19_diagnostics/system_error/what-big.cc: Likewise. + * testsuite/20_util/addressof/1.cc: Likewise. + * testsuite/20_util/align/1.cc: Likewise. + * testsuite/20_util/align/2.cc: Likewise. + * testsuite/20_util/allocator/1.cc: Likewise. + * testsuite/20_util/allocator/10378.cc: Likewise. + * testsuite/20_util/allocator/8230.cc: Likewise. + * testsuite/20_util/allocator_traits/members/allocate_hint.cc: + Likewise. + * testsuite/20_util/allocator_traits/members/construct.cc: Likewise. + * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise. + * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise. + * testsuite/20_util/any/assign/exception.cc: Likewise. + * testsuite/20_util/auto_ptr/1.cc: Likewise. + * testsuite/20_util/auto_ptr/2.cc: Likewise. + * testsuite/20_util/auto_ptr/3.cc: Likewise. + * testsuite/20_util/auto_ptr/4.cc: Likewise. + * testsuite/20_util/auto_ptr/5.cc: Likewise. + * testsuite/20_util/auto_ptr/6.cc: Likewise. + * testsuite/20_util/auto_ptr/7.cc: Likewise. + * testsuite/20_util/bind/all_bound.cc: Likewise. + * testsuite/20_util/bind/conv_result.cc: Likewise. + * testsuite/20_util/bind/cv_quals.cc: Likewise. + * testsuite/20_util/bind/cv_quals_2.cc + * testsuite/20_util/bind/nested.cc: Likewise. + * testsuite/20_util/bind/placeholders.cc: Likewise. + * testsuite/20_util/bind/ref.cc: Likewise. + * testsuite/20_util/bind/ref2.cc: Likewise. + * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/duration/arithmetic/1.cc: Likewise. + * testsuite/20_util/duration/arithmetic/2.cc: Likewise. + * testsuite/20_util/duration/arithmetic/58850.cc: Likewise. + * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise. + * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise. + * testsuite/20_util/duration/comparison_operators/1.cc: Likewise. + * testsuite/20_util/duration/cons/1.cc: Likewise. + * testsuite/20_util/duration/cons/2.cc: Likewise. + * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise. + * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise. + * testsuite/20_util/enable_shared_from_this/members/assign.cc: + Likewise. + * testsuite/20_util/exchange/1.cc: Likewise. + * testsuite/20_util/forward/a.cc: Likewise. + * testsuite/20_util/forward/b.cc: Likewise. + * testsuite/20_util/forward/d.cc: Likewise. + * testsuite/20_util/function/1.cc: Likewise. + * testsuite/20_util/function/2.cc: Likewise. + * testsuite/20_util/function/3.cc: Likewise. + * testsuite/20_util/function/4.cc: Likewise. + * testsuite/20_util/function/43397.cc: Likewise. + * testsuite/20_util/function/5.cc: Likewise. + * testsuite/20_util/function/6.cc: Likewise. + * testsuite/20_util/function/7.cc: Likewise. + * testsuite/20_util/function/8.cc: Likewise. + * testsuite/20_util/function/9.cc: Likewise. + * testsuite/20_util/function/assign/move.cc: Likewise. + * testsuite/20_util/function/cons/move.cc: Likewise. + * testsuite/20_util/function_objects/dr660.cc: Likewise. + * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise. + * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. + * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise. + * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. + * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. + * testsuite/20_util/hash/operators/size_t.cc: Likewise. + * testsuite/20_util/hash/quality.cc: Likewise. + * testsuite/20_util/integral_constant/static_definition.cc: Likewise. + * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. + * testsuite/20_util/is_function/24808.cc: Likewise. + * testsuite/20_util/is_object/24808.cc: Likewise. + * testsuite/20_util/move_if_noexcept/1.cc: Likewise. + * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise. + * testsuite/20_util/owner_less/cmp.cc: Likewise. + * testsuite/20_util/pair/1.cc: Likewise. + * testsuite/20_util/pair/2.cc: Likewise. + * testsuite/20_util/pair/3.cc: Likewise. + * testsuite/20_util/pair/4.cc: Likewise. + * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise. + * testsuite/20_util/pair/moveable.cc: Likewise. + * testsuite/20_util/pair/piecewise.cc: Likewise. + * testsuite/20_util/pair/swap.cc: Likewise. + * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise. + * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise. + * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise. + * testsuite/20_util/ratio/cons/cons1.cc: Likewise. + * testsuite/20_util/ratio/operations/45866.cc: Likewise. + * testsuite/20_util/ratio/operations/47913.cc: Likewise. + * testsuite/20_util/ratio/operations/ops1.cc: Likewise. + * testsuite/20_util/ratio/operations/ops2.cc: Likewise. + * testsuite/20_util/ratio/operations/ops3.cc: Likewise. + * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. + * testsuite/20_util/scoped_allocator/1.cc: Likewise. + * testsuite/20_util/scoped_allocator/2.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: + Likewise. + * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. + * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. + * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/io.cc: Likewise. + * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. + * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. + * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/ + move_iterators/1.cc: Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ + move_iterators/1.cc: Likewise. + * testsuite/20_util/temporary_buffer.cc: Likewise. + * testsuite/20_util/time_point/1.cc: Likewise. + * testsuite/20_util/time_point/2.cc: Likewise. + * testsuite/20_util/time_point/3.cc: Likewise. + * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise. + * testsuite/20_util/tuple/48476.cc: Likewise. + * testsuite/20_util/tuple/comparison_operators/comparisons.cc: + Likewise. + * testsuite/20_util/tuple/cons/allocators.cc: Likewise. + * testsuite/20_util/tuple/cons/assignment.cc: Likewise. + * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise. + * testsuite/20_util/tuple/cons/constructor.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc: + Likewise. + * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise. + * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise. + * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise. + * testsuite/20_util/tuple/element_access/get.cc: Likewise. + * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise. + * testsuite/20_util/tuple/moveable.cc: Likewise. + * testsuite/20_util/tuple/swap.cc: Likewise. + * testsuite/20_util/tuple/tuple_size.cc: Likewise. + * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. + * testsuite/20_util/typeindex/hash.cc: Likewise. + * testsuite/20_util/typeindex/hash_code.cc: Likewise. + * testsuite/20_util/typeindex/name.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/move.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. + * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. + * testsuite/20_util/unique_ptr/hash/1.cc: Likewise. + * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/ + comparisons.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/ + comparisons_array.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc: + Likewise. + * testsuite/20_util/uses_allocator/construction.cc: Likewise. + * testsuite/20_util/uses_allocator/value.cc: Likewise. + * testsuite/20_util/variant/run.cc: Likewise. + * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. + * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. + * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: + Likewise. + * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. + * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: + Likewise. + * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. + * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: + Likewise. + * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.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/swap.cc: + Likewise. + * testsuite/21_strings/basic_string/capacity/1.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc: + Likewise. + * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: + Likewise. + * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise. + * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise. + * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise. + * testsuite/21_strings/basic_string/element_access/char/58163.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/char/empty.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/char/front_back.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: + Likewise. + * testsuite/21_strings/basic_string/element_access/wchar_t/ + front_back.cc: Likewise. + * testsuite/21_strings/basic_string/init-list.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/ + 28277.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/pod/ + 10081-in.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/pod/ + 10081-out.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ + 10.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ + 11.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ + 28277.cc: Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc: + Likewise. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/ + move_assign.cc: Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ + move_assign.cc: Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: + Likewise. + * 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. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + dr1261.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stod.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stof.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stoi.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stol.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stold.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stoll.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stoul.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stoull.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + to_wstring.cc: Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/ + 13650.cc: Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/data/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/5.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/substr/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/substr/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise. + * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise. + * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise. + * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. + * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/ + empty.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/ + front_back.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/ + empty.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/ + front_back.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ + char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ + wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ + char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ + wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/char/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/char/ + 13650.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ + 13650.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ + 2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ + 3.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ + 4.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/ + 2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/ + 3.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ + 2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ + 3.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/string_conversion/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/substr/char/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/ + 1.cc: Likewise. + * testsuite/21_strings/basic_string_view/operators/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/c_strings/char/1.cc: Likewise. + * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise. + * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise. + * testsuite/21_strings/char_traits/requirements/char/57704.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise. + * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise. + + * doc/xml/manual/test.xml: Fix typo. + +2016-10-12 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Add std::sample status. + * doc/html/*: Regenerate. + * include/experimental/algorithm (__sample): Move to bits/stl_algo.h + and into namespace std. + * include/bits/stl_algo.h (__sample): Define here. Fix invalid use + of input iterator. Defend against overloaded comma operator. + (sample): Define for C++17. + * testsuite/25_algorithms/sample/1.cc: New test. + + * testsuite/util/testsuite_common_types.h + (bitwise_assignment_operators): Use direct-initialization for C++11 + and later, to avoid CopyConstructible requirement. + * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error + line numbers. + * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. + * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: + Adjust expected errors and line numbers. + + * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove. + (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call. + + * include/bits/stl_uninitialized.h + (__uninitialized_default_novalue_n_1): Add missing return. + * testsuite/20_util/specialized_algorithms/memory_management_tools/ + 1.cc: Check return values of uninitialized_xxx_n algorithms. + + * libsupc++/nested_exception.h (throw_with_nested): Remove return. + + * doc/xml/manual/intro.xml: Document LWG 2442 status. + * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove. + [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define + partial specialization to unpack args and forward to std::invoke. + (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call + instead of __bind_simple and __once_call_impl. + (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of + __bind_simple. + * testsuite/30_threads/call_once/dr2442.cc: New test. + +2016-10-11 Jonathan Wakely + + * include/bits/stl_list.h (assign(initializer_list)): Call + _M_assign_dispatch directly with correct tag. + + * doc/xml/manual/intro.xml: Document LWG 2484 status. + * libsupc++/nested_exception.h (_Throw_with_nested_impl) + (_Throw_with_nested_helper): Remove. + (__throw_with_nested_impl): New overloaded functions to implement + throw_with_nested logic. + (throw_with_nested): Call __throw_with_nested_impl. + (_Rethrow_if_nested_impl): Remove + (__rethrow_if_nested_impl): New overloaded functions to implement + rethrow_if_nested logic. + (rethrow_if_nested): Call __rethrow_if_nested_impl. + * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test + problem cases from LWG 2484. + + * 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. + + * include/experimental/string_view (basic_string_view::_S_compare): + Remove redundant const from return type. + * include/std/string_view (basic_string_view:_S_compare): Likewise. + + * include/bits/std_mutex.h (mutex::native_handle) + (lock_guard(mutex_type&, adopt_lock_t) + (unique_lock(mutex_type&, adopt_lock_t): Add noexcept. + * include/std/mutex (recursive_mutex, timed_mutex) + (recursive_timed_mutex): Likewise. + +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. + +2016-10-10 Ville Voutilainen + + Make any's copy assignment operator exception-safe, + don't copy the underlying value when any is moved, + make in_place constructors explicit. + * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)): + Make explicit. + (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): + Likewise. + (operator=(const any&)): Make strongly exception-safe. + (operator=(any&&)): reset() unconditionally in the case where + rhs has a value. + (operator=(_ValueType&&)): Indent the return type. + (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy. + * testsuite/20_util/any/assign/2.cc: Adjust. + * testsuite/20_util/any/assign/exception.cc: New. + * testsuite/20_util/any/cons/2.cc: Adjust. + * testsuite/20_util/any/cons/explicit.cc: New. + * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust. + +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. + * doc/html/*: Regenerate. + + * doc/xml/manual/status_cxx2011.xml: Correct C++11 status. + + * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT + with noexcept. + + * include/std/functional (_Bind_result::__enable_if_void): Use alias + template instead of class template. + (_Bind_result::__disable_if_void): Likewise. + (_Bind_result::__call): Adjust uses of __enable_if_void and + __disable_if_void. + + * doc/xml/manual/intro.xml: Document DR 2296 status. + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and + call __builtin_addressof. + (addressof): Add _GLIBCXX17_CONSTEXPR. + * testsuite/20_util/addressof/requirements/constexpr.cc: New test. + * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno. + * testsuite/20_util/forward/f_neg.cc: Likewise. + + * include/bits/allocator.h (allocator::is_always_equal): Define. + * testsuite/20_util/allocator/requirements/typedefs.cc: Test for + is_always_equal. + * testsuite/util/testsuite_allocator.h + (uneq_allocator::is_always_equal): Define as false_type. + + * include/experimental/numeric (gcd, lcm): Make bool arguments + ill-formed. + * include/std/numeric (gcd, lcm): Likewise. + * testsuite/26_numerics/gcd/gcd_neg.cc: New test. + * testsuite/26_numerics/lcm/lcm_neg.cc: New test. + + * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this): + Add noexcept. + * include/bits/shared_ptr_base.h + (__enable_shared_from_this::weak_from_this): Likewise. + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + Test exception-specification of weak_from_this. + +2016-10-07 Jonathan Wakely + + * doc/xml/manual/status_cxx1998.xml: Improve documentation of + implementation-defined properties. + * doc/xml/manual/status_cxx2011.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: Likewise. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/std/type_traits (has_unique_object_representations): Define. + * testsuite/20_util/has_unique_object_representations/value.cc: New. + * testsuite/20_util/has_unique_object_representations/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/has_unique_object_representations/requirements/ + typedefs.cc: New. + +2016-10-06 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Update status. + * 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. + +2016-10-05 Jonathan Wakely + + PR libstdc++/70564 + * testsuite/20_util/not_fn/1.cc: Fix test. + * testsuite/experimental/functional/not_fn.cc: Likewise. + + PR libstdc++/70101 + * include/bits/stl_queue.h (priority_queue): Fix allocator-extended + constructors. + * testsuite/23_containers/priority_queue/allocator.cc: New test. + + 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. + + * include/bits/node_handle.h (_Node_handle): Remove invalid and unused + alias declaration. + + PR libstdc++/70564 + * include/experimental/functional (_Not_fn): Remove. + (not_fn): Use std::_Not_fn. + * include/std/functional (_Not_fn): Add second parameter to + disambiguate copying from initialization by not_fn. Define for C++14. + (not_fn): Add second argument to initialization. + * testsuite/20_util/not_fn/1.cc: Copy call wrapper using + direct-initialization. + +2016-10-03 François Dumont + + * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move + declaration... + * src/c++11/mutex_pool.h: ... here. New. + * src/c++11/debug.cc: Use latter. + +2016-10-03 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status. + * doc/html/*: Regenerate. + * include/experimental/numeric (__abs): Move to . + (gcd, lcm): Use __detail::gcd and __detail::lcm. + * include/std/numeric (__detail::__abs_integral) + (__detail::__gcd, __detail::__lcm): Define. + (gcd, lcm): Define for C++17. + * testsuite/26_numerics/gcd/1.cc: New test. + * testsuite/26_numerics/lcm/1.cc: New test. + * testsuite/experimental/numeric/gcd.cc: Swap contents with ... + * testsuite/experimental/numeric/lcd.cc: ... this. + + PR libstdc++/68323 + PR libstdc++/77794 + * config/abi/pre/gnu-versioned-namespace.ver: Add exports for + __cxa_thread_atexit and __gnu_cxx::__freeres. + * include/Makefile.am: Add + * include/Makefile.in: Regenerate. + * 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/std/string_view: Likewise. + * include/std/variant: Likewise. Add workaround for PR c++/59256. + * include/experimental/bits/fs_fwd.h: Declare versioned namespace. + * include/experimental/bits/lfts_config.h: Declare versioned + namespaces. + * include/experimental/algorithm: Include + . + * include/experimental/any: Likewise. + * include/experimental/bits/erase_if.h: Likewise. + * include/experimental/chrono: Likewise. + * include/experimental/functional: Likewise. + * include/experimental/memory_resource: Likewise. + * include/experimental/optional: Likewise. + * include/experimental/propagate_const: Likewise. + * include/experimental/random: Likewise. + * include/experimental/ratio: Likewise. + * include/experimental/system_error: Likewise. + * include/experimental/tuple: Likewise. + * include/experimental/type_traits: Likewise. + * include/experimental/utility: Likewise. + * include/experimental/string_view: Likewise. Fix nesting of + versioned namespaces. + * include/experimental/bits/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/experimental/propagate_const/assignment/move_neg.cc: + Likewise. + * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. + * testsuite/experimental/propagate_const/requirements2.cc: Likewise. + * testsuite/experimental/propagate_const/requirements3.cc: Likewise. + * testsuite/experimental/propagate_const/requirements4.cc: Likewise. + * testsuite/experimental/propagate_const/requirements5.cc: Likewise. + * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. + + PR libstdc++/77814 + * include/bits/std_abs.h: Use "C++" language linkage. + * testsuite/17_intro/headers/c++2011/linkage.cc: Move to + the end. Add . + +2016-10-03 Ville Voutilainen + + PR libstdc++/77802 + * testsuite/20_util/tuple/77802.cc: New. + + Revert: + 2016-09-21 Ville Voutilainen + Implement LWG 2729 for tuple. + * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): + Suppress conditionally. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. + (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. + (_Tuple_impl(const _Head&)): Constrain. + (_Tuple_impl(_UHead&&)): Likewise. + (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. + (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally. + (operator=(tuple&&)): Suppress conditionally. + (operator=(const tuple<_UElements...>&)): Constrain. + (operator=(tuple<_UElements...>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally (2-param tuple). + (operator=(tuple&&)): Suppress conditionally (2-param tuple). + (operator=(const tuple<_U1, _U2>&)): Constrain. + (operator=(tuple<_U1, _U2>&&)): Likewise. + (operator=(const pair<_U1, _U2>&)): Likewise. + (operator=(pair<_U1, _U2>&&)): Likewise. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. + * testsuite/20_util/tuple/tuple_traits.cc: New. + +2016-09-30 Jonathan Wakely + + PR libstdc++/77795 + * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check + for gets. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare + for C++98 and C++11. + * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise. + * testsuite/27_io/headers/cstdio/functions_neg.cc: New test. + + * doc/xml/manual/intro.xml: Document LWG 2192 changes. + * doc/html/*: Regenerate. + * include/Makefile.am: Add bits/std_abs.h. + * include/Makefile.in: Regenerate. + * include/bits/std_abs.h: New header defining all required overloads + of std::abs in one place (LWG 2294). + * include/c_global/cmath (abs(double), abs(float), abs(long double)): + Move to bits/std_abs.h. + (abs<_Tp>(_Tp)): Remove. + * include/c_global/cstdlib (abs(long), abs(long long), abs(__int)): + Move to bits/std_abs.h. + * testsuite/26_numerics/headers/cmath/dr2192.cc: New test. + * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test. + * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test. + * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test. + + PR libstdc++/77801 + * include/experimental/numeric: Include . + (__abs): Define. + (gcd, lcm): Use __abs instead of std::abs. + * testsuite/experimental/numeric/77801.cc: New test. + * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs. + * testsuite/experimental/numeric/lcm.cc: Likewise. + +2016-09-29 Ville Voutilainen + + Make optional::reset noexcept, make optional::value + work in constant expressions. + * include/std/optional (_M_get): Make constexpr. + (reset): Make noexcept. + * testsuite/20_util/optional/assignment/7.cc: New. + * testsuite/20_util/optional/observers/6.cc: New. + +2016-09-29 Jonathan Wakely + + * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads + outside _GLIBCXX_USE_C99_MATH_TR1 condition. + +2016-09-29 Alan Modra + + * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST. + * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo): + Use LONG_DOUBLE_COMPAT_FLAGS. + * Makefile.in: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2016-09-28 Jonathan Wakely + + * include/std/chrono (system_clock): Fix typo in comment. + + * include/experimental/bits/fs_fwd.h (file_time_type): Simplify + definition. + * src/filesystem/ops.cc (file_time): Take error_code parameter and + check for overflow. + (do_copy_file, last_write_time): Pass error_code in file_time calls. + * testsuite/experimental/filesystem/operations/last_write_time.cc: + New. + * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. + + PR libstdc++/77686 + * include/std/functional (_Any_data): Add may_alias attribute. + +2016-09-27 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + * include/std/functional (__cpp_lib_boyer_moore_searcher): Define. + * testsuite/20_util/function_objects/searchers.cc: Test feature macro. + + * doc/xml/manual/status_cxx2017.xml: Update status. + * include/c_global/cmath (hypot): Add three-dimensional overloads. + * testsuite/26_numerics/headers/cmath/hypot.cc: New. + +2016-09-26 Ville Voutilainen + + PR libstdc++/77727 + * include/std/optional (optional(const optional<_Up>&)): + Default-initialize the base and use emplace. + (optional(optional<_Up>&&)): Likewise. + * testsuite/20_util/optional/cons/77727.cc: New. + +2016-09-26 François Dumont + + * include/debug/safe_base.h + (_Safe_iterator_base::_M_detach_single): Make public. + +2016-09-26 Jonathan Wakely + + * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not + redefine macro defined in . + + * include/bits/stl_map.h (map::extract(const_iterator)): Assert that + iterator is not past-the-end. + * include/bits/stl_multimap.h (multimap::extract(const_iterator)): + Likewise. + * include/bits/stl_multiset.h (multiset::extract(const_iterator)): + Likewise. + * include/bits/stl_set.h (set::extract(const_iterator)): Likewise. + * include/bits/unordered_map.h (unordered_map::extract(const_iterator)) + (unordered_multimap::extract(const_iterator)): Likewise. + * include/bits/unordered_set.h (unordered_set::extract(const_iterator)) + (unordered_multiset::extract(const_iterator)): Likewise. + +2016-09-26 Ville Voutilainen + + PR libstdc++/77717 + * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: + Fix an out-of-bounds access. + +2016-09-26 Marek Polacek + + PR c/7652 + * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]]. + +2016-09-25 François Dumont + + * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove + functional. + (get_safe_base_mutex): Get mutex based on address lowest non nil bits. + * testsuite/23_containers/vector/debug/mutex_association.cc: New. + + * include/debug/bitset (bitset::reference::reference(const _Base_ref&, + bitset*)): Remove __unused__ attribute. + * include/debug/safe_base.h (_Safe_iterator_base): Make + _Safe_sequence_base a friend. + (_Safe_iterator_base::_M_attach): Make protected. + (_Safe_iterator_base::_M_attach_single): Likewise. + (_Safe_iterator_base::_M_detach): Likewise. + (_Safe_iterator_base::_M_detach_single): Likewise. + (_Safe_sequence_base): Make _Safe_iterator_base a friend. + (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New. + (_Safe_sequence_base::_M_swap): Make protected. + (_Safe_sequence_base::_M_attach): Make private. + (_Safe_sequence_base::_M_attach_single): Likewise. + (_Safe_sequence_base::_M_detach): Likewise. + (_Safe_sequence_base::_M_detach_single): Likewise. + * include/debug/safe_container.h + (_Safe_container::_Safe_container(_Safe_container&&)): Make default. + * include/debug/safe_iterator.h + (_Safe_iterator::operator++()): Name __scoped_lock instance. + * include/debug/safe_iterator.tcc: Remove trailing line. + * include/debug/safe_unordered_base.h + (_Safe_local_iterator_base::_M_attach): Make protected. + (_Safe_local_iterator_base::_M_attach_single): Likewise. + (_Safe_local_iterator_base::_M_detach): Likewise. + (_Safe_local_iterator_base::_M_detach_single): Likewise. + (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend. + (_Safe_unordered_container_base::_M_attach_local): Make private. + (_Safe_unordered_container_base::_M_attach_local_single): Likewise. + (_Safe_unordered_container_base::_M_detach_local): Likewise. + (_Safe_unordered_container_base::_M_detach_local_single): Likewise. + + * include/parallel/algo.h: Generalize usage of std::__iterator_category. + Adjust whitespaces. + +2016-09-23 Jonathan Wakely + + PR libstdc++/56166 + PR libstdc++/77582 + * include/bits/basic_string.h (basic_string::clear()): Drop reference + and use empty rep. + * include/ext/rc_string_base.h (__rc_string_base::_M_clear()): + Likewise. + * testsuite/21_strings/basic_string/56166.cc: New. + * testsuite/ext/vstring/modifiers/clear/56166.cc: New. + + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (basic_string::erase(size_type, size_type)): Add fast path for + truncating the string, by calling _M_set_length directly. + (basic_string::erase(__const_iterator, __const_iterator)): Likewise. + * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] + (basic_string::resize(size_type, _CharT)): Likewise. + +2016-09-22 Jason Merrill + + * configure.ac: Define HAVE_MEMALIGN for newlib. + +2015-09-23 Sebastian Huber + + * config/cpu/m68k/atomicity.h: Adjust comment. + * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor + explicit atomicity_dir setup via configure.host. + * configure.host (rtems-*): Set atomicity_dir. + * configure: Regenerate. + +2016-09-22 Jonathan Wakely + + Implement C++17 node extraction and insertion (P0083R5) + * doc/xml/manual/status_cxx2017.xml: Document status. + * doc/html/*: Regenerate. + * include/Makefile.am: Add bits/node_handle.h and reorder. + * include/Makefile.in: Regenerate. + * include/bits/hashtable.h (_Hashtable::node_type) + (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node) + (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract) + (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define. + (_Hash_merge_helper): Define primary template. + * include/bits/node_handle.h: New header. + * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as + friend. + (map::node_type, map::insert_return_type, map::extract, map::merge) + (map::insert(node_type&&), map::insert(const_iterator, node_type&&)): + Define new members. + (_Rb_tree_merge_helper): Specialize for map. + * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper + as friend. + (multimap::node_type, multimap::extract, multimap::merge) + (multimap::insert(node_type&&)) + (multimap::insert(const_iterator, node_type&&)): Define. + (_Rb_tree_merge_helper): Specialize for multimap. + * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper + as friend. + (multiset::node_type, multiset::extract, multiset::merge) + (multiset::insert(node_type&&)) + (multiset::insert(const_iterator, node_type&&)): Define. + * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as + friend. + (set::node_type, set::insert_return_type, set::extract, set::merge) + (set::insert(node_type&&), set::insert(const_iterator, node_type&&)): + Define. + (_Rb_tree_merge_helper): Specialize for set. + * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend. + (_Rb_tree::node_type, _Rb_tree::insert_return_type) + (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal) + (_Rb_tree::_M_reinsert_node_hint_unique) + (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract) + (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define. + (_Rb_tree_merge_helper): Specialize for multiset. + * include/bits/unordered_map.h (unordered_map): Declare + unordered_map<> and unordered_multimap<> as friends. + (unordered_map::node_type, unordered_map::insert_return_type) + (unordered_map::extract, unordered_map::merge) + (unordered_map::insert(node_type&&)) + (unordered_map::insert(const_iterator, node_type&&)) + (unordered_multimap): Declare _Hash_merge_helper as friend. + (unordered_multimap::node_type, unordered_multimap::extract) + (unordered_multimap::merge, unordered_multimap::insert(node_type&&)) + (unordered_multimap::insert(const_iterator, node_type&&)): Define. + (_Hash_merge_helper): Specialize for unordered maps and multimaps. + * include/bits/unordered_set.h (unordered_set, unordered_multiset): + Declare _Hash_merge_helper as friend. + (unordered_set::node_type, unordered_set::insert_return_type) + (unordered_set::extract, unordered_set::merge) + (unordered_set::insert(node_type&&)) + (unordered_set::insert(const_iterator, node_type&&)): Define. + (unordered_multiset::node_type, unordered_multiset::extract) + (unordered_multiset::merge, unordered_multiset::insert(node_type&&)) + (unordered_multiset::insert(const_iterator, node_type&&)): Define. + (_Hash_merge_helper): Specialize for unordered sets and multisets. + * include/debug/map.h (map): Add using declarations or forwarding + functions for new members. + * include/debug/map.h (multimap): Likewise. + * include/debug/map.h (multiset): Likewise. + * include/debug/map.h (set): Likewise. + * include/debug/unordered_map (unordered_map, unordered_multimap): + Likewise. + * include/debug/unordered_set( unordered_set, unordered_multiset): + Likewise. + * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New + helper function. + (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper. + (StdNodeHandlePrinter): Define printer for node handles. + (build_libstdcxx_dictionary): Register StdNodeHandlePrinter. + * testsuite/23_containers/map/modifiers/extract.cc: New. + * testsuite/23_containers/map/modifiers/merge.cc: New. + * testsuite/23_containers/multimap/modifiers/extract.cc: New. + * testsuite/23_containers/multimap/modifiers/merge.cc: New. + * testsuite/23_containers/multiset/modifiers/extract.cc: New. + * testsuite/23_containers/multiset/modifiers/merge.cc: New. + * testsuite/23_containers/set/modifiers/extract.cc: New. + * testsuite/23_containers/set/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. + * testsuite/23_containers/unordered_map/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: + New. + * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: + New. + * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. + * testsuite/23_containers/unordered_set/modifiers/merge.cc: New. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust + dg-error lineno. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles. + +2016-09-22 Ville Voutilainen + + Fix tests on old arm platforms for optional. + * testsuite/20_util/optional/77288.cc: Don't use exception_ptr. + +2016-09-22 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for + recent change to _Variant_storage. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with + reference type. + + * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify + std::forward and ::new. Cast pointer to void*. + * include/std/variant (_Variant_storage, _Union, _Variant_base) + (__access, __visit_invoke, variant, visit): Qualify std::forward. + * testsuite/20_util/variant/compile.cc: Test for ADL problems. + +2016-09-22 Tim Shen + + * include/std/variant (variant::operator=): Fix assignment + on references. + * testsuite/20_util/variant/compile.cc: Add test. + +2016-09-22 Tim Shen + + PR libstdc++/77641 + * include/std/variant (_Variant_storage::_Variant_storage): + Change _Variant_storage's union to be default constructible. + * testsuite/20_util/variant/compile.cc: New test. + +2016-09-21 Ville Voutilainen + + PR libstdc++/77288 + * include/std/optional (__is_optional_impl, __is_optional): Remove. + (__converts_from_optional, __assigns_from_optional): New. + (optional(_Up&&)): Use is_same instead of __is_optional. + (optional(const optional<_Up>&)): Constrain with + __converts_from_optional. + (optional(optional<_Up>&&)): Likewise. + (operator=(_Up&&)): Use is_same instead of __is_optional, check + is_same and is_scalar. + (operator=(const optional<_Up>&)): Constrain with + __converts_from_optional and __assigns_from_optional. + (operator=(optional<_Up>&&)): Likewise. + * testsuite/20_util/optional/77288.cc: New. + * testsuite/20_util/optional/cons/value.cc: Adjust. + +2016-09-21 Ville Voutilainen + + Implement LWG 2729 for tuple. + * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): + Suppress conditionally. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. + (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. + (_Tuple_impl(const _Head&)): Constrain. + (_Tuple_impl(_UHead&&)): Likewise. + (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. + (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. + (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally. + (operator=(tuple&&)): Suppress conditionally. + (operator=(const tuple<_UElements...>&)): Constrain. + (operator=(tuple<_UElements...>&&)): Likewise. + (operator=(const tuple&)): Enable conditionally (2-param tuple). + (operator=(tuple&&)): Suppress conditionally (2-param tuple). + (operator=(const tuple<_U1, _U2>&)): Constrain. + (operator=(tuple<_U1, _U2>&&)): Likewise. + (operator=(const pair<_U1, _U2>&)): Likewise. + (operator=(pair<_U1, _U2>&&)): Likewise. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. + * testsuite/20_util/tuple/tuple_traits.cc: New. + +2016-09-21 Ville Voutilainen + + PR libstdc++/77537 + Implement LWG 2729 for pair. + * include/bits/stl_pair.h (_PCC): New. + (_ConstructiblePair, _ImplicitlyConvertiblePair): + Turn into static member functions of _PCC. + (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise. + (_PCCP): New. + (pair(const _T1&, const _T2&)): Adjust. + (_PCCFP): New. + (pair(const pair<_U1, _U2>&)): Adjust. + (pair(_U1&&, const _T2&)): Likewise. + (pair(const _T1&, _U2&&)): Likewise. + (pair(_U1&&, _U2&&)): Likewise. + (pair(pair<_U1, _U2>&&)): Likewise. + (operator=(const pair&)): Make conditionally deleted. + (operator=(pair&&)): Make conditionally suppressed. + (operator=(const pair<_U1, _U2>&)): Constrain. + (operator=(pair<_U1, _U2>&&): Likewise. + * include/std/type_traits (__nonesuch): New. + * testsuite/20_util/pair/traits.cc: New. + +2016-09-20 Ville Voutilainen + + PR libstdc++/77619 + * include/bits/stl_construct.h: (_Construct_novalue): New. + (_Destroy_n_aux, _Destroy_n): New. + * include/bits/stl_uninitialized.h: (type_traits): + New include in C++11 mode. + (__uninitialized_default_novalue_1): New. + (__uninitialized_default_novalue_n_1): Likewise. + (__uninitialized_default_novalue): Likewise. + (__uninitialized_default_novalue_n): Likewise. + (__uninitialized_copy_n_pair): Likewise. + (uninitialized_default_construct): + Use __uninitialized_default_novalue. + (uninitialized_default_construct_n): + Use __uninitialized_default_novalue_n. + (uninitialized_value_construct): Use __uninitialized_default. + (uninitialized_value_construct_n): Use __uninitialized_default_n. + (uninitialized_move): Use uninitialized_copy. + (uninitialized_move_n): Use __uninitialized_copy_n_pair. + (destroy_at): Use _Destroy. + (destroy): Likewise. + (destroy_n): Likewise. + * testsuite/20_util/specialized_algorithms/ + memory_management_tools/1.cc: Add tests for exceptions, + add tests for trivial cases for construct and move. + +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. + + * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs. + + * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow + display_hint to be set by subclasses. + (StdVariantPrinter): Use array for display_hint. Adjust output to be + more similar to std::any and std::optional output. + (register_type_printers): Add type printers for basic_string_view + typedefs and experimental::any. Adjust type printers for + fundamentals_v1 templates to match fundamentals_v2 and later. + * testsuite/libstdc++-prettyprinters/cxx17.cc: New. + + PR libstdc++/77645 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename + argument. + (ListWorkerBase.get_value_from_node): Define new method. + (ListFrontWorker.__call__, ListBackWorker.__call__): Use it. + +2016-09-17 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define. + (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter): + Register for C++17 components in namespace std. Strip inline namespace + from typename. + +2016-09-16 Jonathan Wakely + + * doc/xml/manual/profile_mode.xml: Fix typo. + * doc/html/manual/profile_mode_devel.html: Regenerate. + +2016-09-16 Jonathan Wakely + Marc Glisse + + * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC] + (operator new(size_t, align_val_t)): Replace modulus operator with + mask. + +2016-09-16 Jonathan Wakely + + * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc): + Increase alignment if less than sizeof(void*). + [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)): + Increase size if not a multiple of alignment. + +2016-09-15 Jonathan Wakely + + * doc/xml/manual/debug_mode.xml: Minor editorial fixes. + * doc/html/*: Regenerate. + + * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove + -Wno-deprecated. + * testsuite/util/debug/checks.h (generate_unique): Specialize. + +2016-09-14 Marek Polacek + + * testsuite/23_containers/vector/debug/insert6_neg.cc: Use + -Wno-deprecated. + +2016-09-14 Christophe Lyon + + * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: + Move dg-do directive before dg-skip. + * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: + Move dg-do directive before dg-require. + * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: + Likewise. + * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. + * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. + * testsuite/27_io/objects/char/12048-5.cc: Likewise. + * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. + +2016-09-13 Ville Voutilainen + + Implement P0040R3, Extending memory management tools. + * include/bits/stl_uninitialized.h (utility): New include + in C++17 mode. + (uninitialized_default_construct): New. + (uninitialized_default_construct_n): Likewise. + (uninitialized_value_construct): Likewise. + (uninitialized_value_construct_n): Likewise. + (uninitialized_move): Likewise. + (uninitialized_move_n): Likewise. + (destroy_at, destroy, destroy_n): Likewise. + * testsuite/20_util/specialized_algorithms/memory_management_tools/ + 1.cc: New. + +2016-09-12 Jason Merrill + + * config/abi/pre/gnu.ver: Use [jmy] for size_t. + +2016-09-12 Ville Voutilainen + + Implement P0253R1, Fixing a design mistake in the searchers + interface in Library Fundamentals. + * include/std/functional: (utility): New include in C++17 mode. + (default_searcher): Use a pair as return type, adjust the definition. + (boyer_moore_searcher): Likewise. + (boyer_moore_horspool_searcher): Likewise. + * testsuite/20_util/function_objects/searchers.cc: Adjust. + +2016-09-12 Ville Voutilainen + + Implement C++17 string searchers. + * include/std/functional: (unordered_map, vector): New includes + in C++17 mode. + (array, bits/stl_algo.h): Likewise. + (default_searcher, __boyer_moore_map_base): New. + (__boyer_moore_array_base, __is_std_equal_to): Likewise. + (__boyer_moore_base_t, boyer_moore_searcher): Likewise. + (boyer_moore_horspool_searcher, make_default_searcher): Likewise. + (make_boyer_moore_searcher): Likewise. + (make_boyer_moore_horspool_searcher): Likewise. + * testsuite/20_util/function_objects/searchers.cc: New. + +2016-09-12 Matthew Wahab + + * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: + Move dg-do directive before dg-require. + * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: + Likewise. + * testsuite/22_locale/codecvt/utf8.cc: Likewise. + * testsuite/22_locale/locale/cons/unicode.cc: Likewise. + * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. + * testsuite/23_containers/forward_list/debug/60499.cc: Likewise. + * testsuite/23_containers/forward_list/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: + Likewise. + * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/map/debug/60499.cc: Likewise. + * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/60499.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/multiset/debug/60499.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/set/debug/60499.cc: Likewise. + * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise. + * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise. + * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multimap/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/60499.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_multiset/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + invalid_local_iterator_compare_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + invalid_local_iterator_range_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + max_load_factor_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_erased_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_invalid_iterator_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/debug/ + use_invalid_local_iterator_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/52433.cc: Likewise. + * testsuite/23_containers/vector/debug/60499.cc: Likewise. + * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise. + * testsuite/23_containers/vector/debug/ + iterator_self_move_assign_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise. + * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. + * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. + * testsuite/29_atomics/atomic/60658.cc: Likewise. + * testsuite/29_atomics/atomic/60695.cc: Likewise. + * testsuite/29_atomics/atomic/62259.cc: Likewise. + * testsuite/29_atomics/atomic/64658.cc: Likewise. + * testsuite/29_atomics/atomic/cons/49445.cc: Likewise. + * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: + Likewise. + +2016-09-11 Jonathan Wakely + + * libsupc++/new_opant.cc: Include exception_defines.h. + * libsupc++/new_opvant.cc: Likewise. + +2016-09-09 Jason Merrill + + Implement P0035R4, C++17 new of over-aligned types. + * libsupc++/new: Declare aligned new/delete operators. + * config/abi/pre/gnu.ver: Export them. + * configure.ac: Check for aligned_alloc, posix_memalign, memalign, + _aligned_malloc. + * libsupc++/new_opa.cc: New. + * libsupc++/new_opant.cc: New. + * libsupc++/new_opva.cc: New. + * libsupc++/new_opva.cc: New. + * libsupc++/del_opa.cc: New. + * libsupc++/del_opant.cc: New. + * libsupc++/del_opsa.cc: New. + * libsupc++/del_opva.cc: New. + * libsupc++/del_opvant.cc: New. + * libsupc++/del_opvsa.cc: New. + * libsupc++/Makefile.am: Build them. + +2016-09-05 Tim Shen + + * include/std/variant: include bits/move.h for std::addressof. + +2016-09-05 Mikhail Strelnikov + + * include/std/variant (_Variant_storage::_M_storage()): Use + std::addressof instead of operator& to take address. + +2016-09-02 Maxim Kuvyrkov + + * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of + setrlimit on both native and cross targets. + * configure: Regenerate. + +2016-08-31 Jonathan Wakely + + * include/bits/shared_ptr.h (_Assignable): New alias template. + (shared_ptr::operator=(const shared_ptr<_Tp1>&)) + (shared_ptr::operator=(shared_ptr<_Tp1>&&)) + (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with + _Assignable. + * include/bits/shared_ptr_base.h (_Assignable): New alias template. + (__shared_ptr::operator=(const __shared_ptr<_Tp1>&)) + (__shared_ptr::operator=(__shared_ptr<_Tp1>&&)) + (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with + _Assignable. + (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter)) + (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with + _Convertible. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to + match on any line. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test. + * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update + expected errors. Remove unnecessary code. + * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test. + + * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move + comparison object. + * testsuite/23_containers/set/move_comparison.cc: New test. + + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + New test. + +2016-08-30 Ville Voutilainen + + PR libstdc++/77395 + * include/std/type_traits (is_constructible): Forward-declare... + (__is_base_to_derived_ref): ...and use here. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. + * testsuite/20_util/is_constructible/77395.cc: New. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/tuple/77395.cc: New. + +2016-08-30 Uros Bizjak + + * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run + directive above dg-require-namedlocale directive. + * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto. + * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto. + +2016-08-27 Tim Shen + + PR libstdc++/77356 + * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, + _M_expression_term): Modify to support dash literal. + * include/bits/regex_scanner.h: Add dash as a token type to make + a different from the mandated dash literal by escaping. + * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash + token in bracket expression parsing. + * testsuite/28_regex/regression.cc: Add new testcases. + +2016-08-26 Jonathan Wakely + + PR libstdc++/51960 + * doc/xml/manual/intro.xml: Document DR 2127 change. + * doc/html/*: Regenerate. + * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. + (operator++(), operator++(int)): Use injected class name. + * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. + + * testsuite/*: Use { target c++11 } or { target c++14 } instead of + using -std in dg-options. + +2016-08-26 Jonathan Wakely + Pedro Alves + + * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save + and restore dg-interpreter-batch-mode. + * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use + gdb-dg-runtest instead of dg-runtest. + * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. + +2016-08-26 Jonathan Wakely + + * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more + precise patterns for basic_string constructors. + (GLIBCXX_3.4.23): Export new constructors. + * doc/xml/manual/intro.xml: Document LWG 2583 status. + * doc/html/*: Regenerate. + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (basic_string(const basic_string&, size_type, const Alloc&)): Add + new constructor for LWG 2583. + (basic_string(const basic_string&, size_type, size_type)): Remove + default argument. + [!_GLIBCXX_USE_CXX11_ABI]: Likewise. + * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. + * testsuite/21_strings/basic_string/cons/char/8.cc: New test. + * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. + +2016-08-24 Aditya Kumar + + * include/bits/algorithmfwd.h: Remove trailing whitespace. + * include/bits/shared_ptr_base.h: Likewise. + +2016-08-23 Jonathan Wakely + + * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR. + * include/profile/array (array): Likewise. + (array::swap): Fix exception specification for zero-sized arrays. + + 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. + * testsuite/23_containers/map/77334.cc: New test. + + * doc/xml/manual/using.xml: Remove reference to -pthreads option. + * doc/html/*: Regenerate. + + * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile. + * testsuite/experimental/feat-lib-fund.cc: Likewise. + + PR libstdc++/71771 + * include/bits/stl_iterator.h + (operator-(reverse_iterator, reverse_iterator): Only + define for C++98 mode. + (operator-(move_iterator, move_iterator): Don't define. + * testsuite/24_iterators/headers/iterator/synopsis.cc: Use + -std=gnu++98. + * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test. + * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test. + * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test. + * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test + difference operator. + * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test + difference operator for C++98. + * testsuite/24_iterators/reverse_iterator/71771.cc: New test. + + * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define. + * include/bits/range_access.h (begin, end, rbegin, rend, crbegin) + (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0. + * include/bits/stl_iterator.h (reverse_iterator, move_iterator) + (__make_reverse_iterator, make_reverse_iterator, make_move_iterator): + Likewise. + * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add + _GLIBCXX14_CONSTEXPR. + (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR. + * include/std/array (array::begin, array::end, array::rbegin) + (array::rend, array::cbegin, array:cend, array::crbegin) + (array::crend, array::operator[], array::at, array::front) + (array::back, array::data): Likewise. + * testsuite/24_iterators/headers/iterator/range_access.cc: Replace + with separate tests for C++11, C++14, and C++17. + * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New. + * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New. + * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New. + +2016-08-22 Tim Shen + + Split _M_dfs() into smaller functions. + * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin) + (_M_handle_subexpr_end, _M_handle_line_begin_assertion) + (_M_handle_line_end_assertion, _M_handle_word_boundary) + (_M_handle_subexpr_lookahead, _M_handle_match) + (_M_handle_backref, _M_handle_accept, _M_handle_alternative): + Add separate function declarations. + * regex_executor.tcc: Split _M_dfs() into multiple handler functions. + +2016-08-22 Gleb Natapov + + PR libstdc++/68297 + * config/abi/pre/gnu-versioned-namespace.ver: Export + __cxa_init_primary_exception and std::exception_ptr(void*). + * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and + export __cxa_init_primary_exception and std::exception_ptr(void*). + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.am: Add new headers. + * libsupc++/Makefile.in: Regenerate. + * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ... + * libsupc++/cxxabi_init_exception.h: New header. + (__cxa_init_primary_exception): Declare. + * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define. + (__cxa_throw): Use __cxa_init_primary_exception. + * libsupc++/exception (std::exception): Move to ... + * libsupc++/exception.h: New header. + * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add + friend declaration. + (__exception_ptr::__dest_thunk): New function template. + (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: + Use __cxa_allocate_exception and __cxa_init_primary_exception to + create exception_ptr. + * libsupc++/typeinfo: Include bits/exception.h instead of exception. + * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version. + +2016-08-22 Jonathan Wakely + + * doc/xml/api.xml: Replace hardcoded links for specific versions with + link to docs for all releases. + * doc/html/*: Regenerate. + + PR libstdc++/77322 + * doc/xml/manual/intro.xml: Document DR 2062 change. + * include/std/functional (function::swap): Add noexcept. + (swap(function + + * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for + *-*-solaris* instead of -pthreads. + * testsuite/21_strings/basic_string/pthread4.cc : Likewise. + * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. + * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. + * testsuite/23_containers/list/pthread1.cc: Likewise. + * testsuite/23_containers/list/pthread5.cc: Likewise. + * testsuite/23_containers/map/pthread6.cc: Likewise. + * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. + * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. + * testsuite/30_threads/shared_mutex/*: Likewise. + * testsuite/ext/rope/pthread7-rope.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/ + default_weaktoshared.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/ + mutex_weaktoshared.cc: Likewise. + * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use + dg-require-effective-target instead of using -std option. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. + * testsuite/23_containers/vector/debug/multithreaded_swap.cc: + Likewise. + * testsuite/30_threads/async/*: Likewise. + * testsuite/30_threads/call_once/*: Likewise. + * testsuite/30_threads/condition_variable/*: Likewise. + * testsuite/30_threads/condition_variable_any/*: Likewise. + * testsuite/30_threads/future/*: Likewise. + * testsuite/30_threads/lock/*: Likewise. + * testsuite/30_threads/mutex/*: Likewise. + * testsuite/30_threads/packaged_task/*: Likewise. + * testsuite/30_threads/promise/*: Likewise. + * testsuite/30_threads/recursive_mutex/*: Likewise. + * testsuite/30_threads/recursive_timed_mutex/*: Likewise. + * testsuite/30_threads/shared_future/*: Likewise. + * testsuite/30_threads/shared_lock/*: Likewise. + * testsuite/30_threads/shared_timed_mutex/*: Likewise. + * testsuite/30_threads/this_thread/*: Likewise. + * testsuite/30_threads/thread/*: Likewise. + * testsuite/30_threads/timed_mutex/*: Likewise. + * testsuite/30_threads/try_lock/*: Likewise. + * testsuite/30_threads/unique_lock/*: Likewise. + + * doc/xml/manual/status_cxx2017.xml: Update status of not_fn. + * doc/html/*: Regenerate. + * include/experimental/functional (_Not_fn, not_fn): Match C++17 + semantics. + * include/std/functional (_Not_fn, not_fn): Define for C++17. + * testsuite/20_util/not_fn/1.cc: New. + * testsuite/experimental/functional/not_fn.cc: Test abstract class. + Remove test for volatile-qualified wrapper. + + * include/std/atomic (atomic::is_always_lock_free): Define. + * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno. + * testsuite/29_atomics/atomic/is_always_lock_free.cc: New. + * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New. + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/*: Regenerate. + + * include/experimental/tuple (apply): Qualify call to __apply_impl. + * include/std/tuple (apply): Likewise. + * testsuite/experimental/system_error/value.cc: Fix ambiguities in + C++17 mode. + * testsuite/experimental/tuple/tuple_size.cc: Likewise. + * testsuite/experimental/type_traits/value.cc: Likewise. + + * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple + and variant. + * doc/html/*: Regenerate. + +2016-08-18 Ville Voutilainen + + Implement the latest proposed resolution of LWG 2756. + * include/std/optional (Optional_base(const _Tp&)) + (Optional_base(_Tp&&), using _Base::_Base): Remove. + (optional(nullopt_t)): New. + (optional(_Up&&)): Invoke base directly with in_place + rather than creating a temporary, add default template + argument, change constraints. + (optional(const optional<_Up>&)): Invoke base directly + with in_place, remove unnecessary constraints. + (optional(optional<_Up>&& __t)): Likewise. + (optional(in_place_t, _Args&&...)): New. + (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise. + (operator=(_Up&&)): Add default template argument, change constraints. + (operator=(const optional<_Up>&)): Put is_same first in the + constraints. + (operator=(optional<_Up>&&)): Likewise. + * testsuite/20_util/optional/assignment/5.cc: Add a test to + verify assignment from something that can't be perfect-forwarded. + * testsuite/20_util/optional/cons/value.cc: Add tests to verify + that a nested optional is disengaged when constructed + from a disengaged element type, and to verify that assignments + from an engaged element type engage the optional. + +2016-08-18 Tim Shen + + Implement + + * include/Makefile.am: Add new file std/variant. + * include/Makefile.in: Generated from Makefile.am. + * include/bits/enable_special_members.h: Add a tag type to allow + the construction in non-default constructor. + * include/bits/uses_allocator.h: Add convenience traits to + detect constructibility. + * include/std/variant: Implement . + * testsuite/20_util/variant/compile.cc: Compile-time tests. + * testsuite/20_util/variant/run.cc: Runtime tests. + +2016-08-18 Jonathan Wakely + + * doc/xml/manual/test.xml (test.run.permutations): Expand section. + (test.new_tests): Rewrite section. + (tests.dg.directives): New section. + * doc/html/*: Regenerate. + + * doc/xml/manual/test.xml: Improve documentation of test targets. + Document new-abi-baseline, check-debug, and check-parallel targets. + + * doc/xml/manual/build_hacking.xml: New section on shared library + versioning. + + * doc/xml/manual/build_hacking.xml: Improve markup. + * doc/xml/manual/test.xml: Likewise. Change section title from "Test" + to "Testing". + * doc/xml/faq.xml: Change link text to "Testing". + + * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended + dg-options directive. + +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. + + * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target + instead of -std in dg-options. + * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. + * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. + * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. + * testsuite/20_util/hash/quality.cc: Likewise. + * testsuite/25_algorithms/heap/moveable.cc: Likewise. + * testsuite/25_algorithms/heap/moveable2.cc: Likewise. + * testsuite/25_algorithms/nth_element/random_test.cc: Likewise. + * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. + * testsuite/25_algorithms/sort/random_test.cc: Likewise. + + * testsuite/20_util/tuple/67844.cc: Require c++11 effective target. + * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise. + * testsuite/27_io/rvalue_streams.cc: Likewise. + + * testsuite/26_numerics/complex/literals/types.cc: Add comment. + + * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: + Remove duplicate dg-options directive. + + * testsuite/ext/profile/all.cc: Use effective target instead of + -std=gnu++11. Use dg-additional-options instead of repeating options. + + * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of + -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output + instead of dg-excess-errors. + + * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable + test for C++17. + * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17. + * testsuite/experimental/ratio/value.cc: Likewise. + * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for + C++17. + * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. + * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for + C++17 compatibility. + + * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust + expected signatures for C++14 compatibility. + + PR libstdc++/77264 + * include/bits/basic_string.h (operator=(__sv_type) + (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type)) + (replace(size_type, size_type, __sv_type)) + (replace(const_iterator, const_iterator, __sv_type)) + (find(__sv_type, size_type), rfind(__sv_type, size_type)) + (compare(size_type, size_type, __sv_type)): Reformat. + (_If_sv): Define helper for SFINAE constaints. + (append(const _Tp&, size_type, size_type)) + (assign(const _Tp&, size_type, size_type)) + (insert(size_type, const _Tp&, size_type, size_type)) + (replace(size_type, size_type, const _Tp&, size_type, size_type)): + Use _If_sv. + * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test + SFINAE constraints. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: + Likewise. + +2016-08-16 Jonathan Wakely + + PR libstdc++/72847 + * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero + pointers to start and end of storage. + * testsuite/23_containers/vector/bool/72847.cc: New test. + * include/bits/vector.tcc (vector::_M_reallocate): Only update + _M_finish after deallocating. + (vector::_M_fill_insert): Likewise. + (vector::_M_insert_range): Likewise. + (vector::_M_insert_aux): Likewise. + +2016-08-15 Ville Voutilainen + + Implement LWG 2744 and LWG 2754. + * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type. + (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay. + (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): + Likewise. + (emplace(_Args&&...)): Likewise. + (emplace(initializer_list<_Up>, _Args&&...)): Likewise. + * include/std/utility: (__is_in_place_type_impl): New. + (__is_in_place_type): Likewise. + * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying + emplace. + * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying + in_place constructor. + * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. + * testsuite/20_util/any/requirements.cc: Add a test for + in_place-constructing a non-default-constructible type. + +2016-08-15 Ville Voutilainen + + Add a feature macro for C++17 make_from_tuple. + * include/std/tuple (__cpp_lib_make_from_tuple): New. + (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)): + Qualify the call to get<>(). + * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust. + +2016-08-15 Uros Bizjak + + * src/filesystem/ops.cc: Always include ostream and + ext/stdio_filebuf.h. + (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined. + [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case + sendfile fails with ENOSYS or EINVAL. + +2016-08-15 Thomas Preud'homme + + PR libstdc++/72840 + * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error + syntax. + +2016-08-11 Ville Voutilainen + + Implement C++17 make_from_tuple. + * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New. + * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. + +2016-08-11 Ville Voutilainen + + Implement LWG 2758. + * include/bits/basic_string.h + (append(__sv_type, size_type, size_type)): Turn into a template, + change parameter type, constrain, add a conversion to __sv_type + from the dependent parameter type. + (assign(__sv_type, size_type, size_type)): Likewise. + (insert(size_type, __sv_type, size_type, size_type)): Likewise. + (replace(size_type, size_type, __sv_type, size_type, size_type)): + Likewise. + (compare(size_type, size_type,__sv_type, size_type, size_type)): + Likewise. + * testsuite/21_strings/basic_string/lwg2758.cc: New. + +2016-08-06 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update status table. + * doc/html/manual/status.html: Regenerate. + + * testsuite/lib/libstdc++.exp: Fix typo in comment. + + PR libstdc++/72820 + * include/std/functional (_Function_base::_Base_manager::_M_clone): + Qualify new operator. + * testsuite/20_util/function/cons/72820.cc: New test. + + * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features. + * doc/html/manual/status.html: Regenerate. + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/invoke.h: New header. + (__invoke): Make constexpr. Add && to types in exception specification. + * include/experimental/tuple (apply, __apply_impl): Fix non-reserved + names. Include and use std::__invoke. + * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to + new header. + (invoke): Add && to types in exception specification. + * include/std/tuple (apply, __apply_impl): Define for C++17. + * testsuite/20_util/tuple/apply/1.cc: New test. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error + lineno. + +2016-08-05 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status. + * doc/html/manual/status.html: Regenerate. + + * include/std/chrono (floor, ceil, round, abs): New for C++17. + * testsuite/20_util/duration_cast/rounding.cc: New test. + * testsuite/20_util/time_point_cast/rounding.cc: New test. + * doc/xml/manual/status_cxx2017.xml: Update status table. + * doc/html/manual/status.html: Regenerate. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust + dg-error lineno. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. + * testsuite/20_util/duration/literals/range.cc: Likewise. + + * include/std/functional (__callable_functor): Remove. + (_Function_handler::_M_invoke): Use __invoke instead of + __callable_functor or mem_fn. + (function::_Callable): Use lvalue in result_of expression. + (function): Remove TODO comments about allocators. + * testsuite/20_util/function/cons/refqual.cc: New test. + +2016-08-04 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update status table. + * include/std/functional (__inv_unwrap): Move to . + (__invoke_impl): Remove exception specifications. + (__invoke, invoke): Add exception specifications using + __is_nothrow_callable. + * include/std/type_traits (__inv_unwrap): Move from . + (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers. + (__is_callable, __is_nothrow_callable): New traits. + (is_callable, is_callable_v): New C++17 traits. + (is_nothrow_callable, is_nothrow_callable_v): Likewise. + * testsuite/20_util/is_callable/requirements/ + explicit_instantiation.cc: New test. + * testsuite/20_util/is_callable/requirements/ + explicit_instantiation_ext.cc: New test. + * testsuite/20_util/is_callable/requirements/typedefs.cc: New test. + * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New + test. + * testsuite/20_util/is_callable/value.cc: New test. + * testsuite/20_util/is_callable/value_ext.cc: New test. + * testsuite/20_util/is_nothrow_callable/requirements/ + explicit_instantiation.cc: New test. + * testsuite/20_util/is_nothrow_callable/requirements/ + explicit_instantiation_ext.cc: New test. + * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc: + New test. + * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc: + New test. + * testsuite/20_util/is_nothrow_callable/value.cc: New test. + * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test. + + * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. + * doc/html/manual/status.html: Regenerate. + + * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use + effective target not dg-options. Move check for feature-test macro to: + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + New test. + + * include/std/functional (_Unwrap): Rename to __inv_unwrap. + (__invfwd): Adjust. + (__invoke_impl): Remove unused template parameters. + * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused + parameter. + * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc + and test __invoke extension for C++11. + +2016-08-03 Jonathan Wakely + + * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this): + Define feature-test macro. + * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test + for the macro. + + * include/bits/shared_ptr.h (shared_ptr::weak_type): Define. + * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. + * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + + * include/std/utility (as_const): Define. + * testsuite/20_util/as_const/1.cc: New test. + * testsuite/20_util/as_const/rvalue_neg.cc: New test. + + * include/bits/shared_ptr.h (owner_less): Add default template + argument. + * include/bits/shared_ptr_base.h (_Sp_owner_less): Define + specialization. + (owner_less): Define specialization. + * include/bits/stl_function.h (__cpp_lib_transparent_operators): + Update value. + * testsuite/20_util/owner_less/void.cc: New test. + * testsuite/experimental/feat-cxx14.cc: Update macro value tested. + + * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): + Define feature-test macro. + * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise. + * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment. + * include/std/type_traits (__cpp_lib_logical_traits): Fix value. + (__cpp_lib_type_trait_variable_templates): Define. + + * include/bits/stl_function.h: Remove commented-out macro. + * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): + Define feature-test macro. + * testsuite/experimental/feat-cxx14.cc: Add tests for more macros. + + * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for + C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is + true. + * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't + do #error for C++17. + * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead + of __STDCPP_WANT_MATH_SPEC_FUNCS__. + * include/tr1/bessel_function.tcc: Likewise. + * include/tr1/beta_function.tcc: Likewise. + * include/tr1/cmath: Likewise. + * include/tr1/ell_integral.tcc: Likewise. + * include/tr1/exp_integral.tcc: Likewise. + * include/tr1/gamma.tcc: Likewise. + * include/tr1/hypergeometric.tcc: Likewise. + * include/tr1/legendre_function.tcc: Likewise. + * include/tr1/modified_bessel_func.tcc: Likewise. + * include/tr1/poly_hermite.tcc: Likewise. + * include/tr1/poly_laguerre.tcc: Likewise. + * include/tr1/riemann_zeta.tcc: Likewise. + * include/tr1/special_function_util.h: Likewise. + * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New. + + * include/std/type_traits (has_trivial_default_constructor): Remove. + (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise. + * testsuite/20_util/has_trivial_copy_assign/requirements/ + explicit_instantiation.cc: Remove test. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line number. + * 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.cc: 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/headers/type_traits/types_std_c++0x_neg.cc: + Check has_trivial_default_constructor, has_trivial_copy_constructor, + and has_trivial_copy_assign are not defined. + * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out + tests. + * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust + dg-error line number. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + +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. + + * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve + comments. + + * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move + dg-error to relevant line. + * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: + Likewise. + * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise. + + * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags. + + * 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. + + * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ + check_value.cc: Do not add special functions to namespace std in TR1 + test. + + * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only + run for C++11 and later. + * testsuite/ext/special_functions/conf_hyperg/check_value.cc: + Likewise. + * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. + * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. + * testsuite/ext/special_functions/hyperg/compile.cc: Likewise. + * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: + Likewise. + * testsuite/special_functions/01_assoc_laguerre/check_value.cc: + Likewise. + * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise. + * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: + Likewise. + * testsuite/special_functions/02_assoc_legendre/check_nan.cc: + Likewise. + * testsuite/special_functions/02_assoc_legendre/check_value.cc: + Likewise. + * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise. + * testsuite/special_functions/02_assoc_legendre/compile_2.cc: + * testsuite/special_functions/03_beta/check_nan.cc: Likewise. + * testsuite/special_functions/03_beta/check_value.cc: Likewise. + * testsuite/special_functions/03_beta/compile.cc: Likewise. + * testsuite/special_functions/03_beta/compile_2.cc: Likewise. + * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. + * testsuite/special_functions/04_comp_ellint_1/check_value.cc: + Likewise. + * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise. + * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise. + * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. + * testsuite/special_functions/05_comp_ellint_2/check_value.cc: + Likewise. + * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise. + * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise. + * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. + * testsuite/special_functions/06_comp_ellint_3/check_value.cc: + Likewise. + * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise. + * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: + Likewise. + * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise. + * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. + * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. + * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: + Likewise. + * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise. + * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise. + * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. + * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: + Likewise. + * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise. + * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise. + * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise. + * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. + * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. + * testsuite/special_functions/11_ellint_1/compile.cc: Likewise. + * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise. + * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. + * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. + * testsuite/special_functions/12_ellint_2/compile.cc: Likewise. + * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise. + * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. + * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. + * testsuite/special_functions/13_ellint_3/compile.cc: Likewise. + * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise. + * testsuite/special_functions/14_expint/check_nan.cc: Likewise. + * testsuite/special_functions/14_expint/check_value.cc: Likewise. + * testsuite/special_functions/14_expint/compile.cc: Likewise. + * testsuite/special_functions/14_expint/compile_2.cc: Likewise. + * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. + * testsuite/special_functions/15_hermite/check_value.cc: Likewise. + * testsuite/special_functions/15_hermite/compile.cc: Likewise. + * testsuite/special_functions/15_hermite/compile_2.cc: Likewise. + * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. + * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. + * testsuite/special_functions/16_laguerre/compile.cc: Likewise. + * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise. + * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. + * testsuite/special_functions/17_legendre/check_value.cc: Likewise. + * testsuite/special_functions/17_legendre/compile.cc: Likewise. + * testsuite/special_functions/17_legendre/compile_2.cc: Likewise. + * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. + * testsuite/special_functions/18_riemann_zeta/check_value.cc: + Likewise. + * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise. + * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise. + * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise. + * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. + * testsuite/special_functions/20_sph_legendre/check_value.cc: + Likewise. + * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise. + * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise. + * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise. + + * testsuite/tr1/5_numerical_facilities/special_functions/ + 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead + of [[gnu::unused]]. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 09_cyl_bessel_j/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 10_cyl_bessel_k/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 11_cyl_neumann/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 21_sph_bessel/check_value.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 23_sph_neumann/check_value.cc: Likewise. + +2016-08-02 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. + * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. + +2016-08-02 Jonathan Wakely + + * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip + test if -flto used. + + * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to + additional flags for compiling libtestc++.a objects. + +2016-08-01 Jonathan Wakely + + * include/bits/basic_string.h (data() const): Update comment. + (data()): Add non-const overload for C++17. + * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. + * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. + + * include/bits/basic_string.tcc: Disable explicit instantiation + declarations for C++17. + + * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove + ignored "xfail" from { dg-do compile { xfail selector } } directive. + * testsuite/23_containers/unordered_multimap/requirements/53339.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++11.cc: Likewise. + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++98.cc: Likewise. + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c.cc: Likewise. + + * testsuite/backward/hash_set/check_construct_destroy.cc: Account + for different construct/destroy counts in C++98 mode. + + * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options. + + * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and + later. + * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: + Likewise. + + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use + C++98-compatible initialization for array. + + * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove + unused header and variable from compile-only test. + * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise. + * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise. + * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise. + * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: + Likewise. + + * testsuite/experimental/string_view/operations/rfind/char/2.cc: + Remove duplicate dg-options directive. + + * testsuite/20_util/specialized_algorithms/uninitialized_copy/ + 808590.cc: Use -std=gnu++98 instead of -std=gnu++03. + + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove + linker options from compile-only tests. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: + Likewise. + + * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test + supported for C++11 and later. + * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. + +2016-08-01 Uros Bizjak + + * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. + +2016-07-31 Jonathan Wakely + + * testsuite/20_util/conditional/requirements/typedefs.cc: Change to + compile-only test. + + * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: + Ensure test is compiled with optimization. + + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Adjust dg-prune-output pattern for error in C++98 mode. + + * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only + run for C++11 or later. + + * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix + test to not rely on GNU extension (escaped normal characters in POSIX + BRE). Enable tests for other strings which are now supported. + + * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target + c++11 instead of setting -std=gnu++14. + + PR libstdc++/72745 + * include/std/array (get): Use positive message for static assertions. + * include/std/functional (_Safe_tuple_element_t): Fix indentation. + * include/std/tuple (tuple_element>): Add partial + specialization for invalid indices, with static assertion. + * testsuite/20_util/tuple/element_access/get_neg.cc: New test. + + * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move + dg-error to relevant line. + * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: + Likewise. + * testsuite/23_containers/forward_list/requirements/dr438/ + assign_neg.cc: Likewise. + * testsuite/23_containers/forward_list/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/forward_list/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/forward_list/requirements/dr438/ + insert_neg.cc: Likewise. + * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: + Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/ + requirements/non_uint_neg.cc: Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: + Likewise. Also test for std::atomic_address. + +2016-07-31 Ville Voutilainen + + Add missing variable traits, fix testsuite failures. + * include/bits/uses_allocator.h (uses_allocator_v): New. + * include/std/functional (is_bind_expression_v, is_placeholder_v): + Likewise. + * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. + * testsuite/20_util/duration/literals/range.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise. + * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: + New. + +2016-07-31 Jonathan Wakely + + * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do + not test 128-bit types. + * testsuite/20_util/is_floating_point/value.cc: Likewise. + * testsuite/20_util/is_integral/value.cc: Likewise. + * testsuite/20_util/is_signed/value.cc: Likewise. + * testsuite/20_util/is_unsigned/value.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: + Likewise. + + * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc. + +2016-07-29 Ville Voutilainen + + Implement C++17 variable templates for type traits. + * include/std/chrono (treat_as_floating_point_v): New. + * include/std/ratio (ratio_equal_v, ratio_not_equal_v) + (ratio_less_v, ratio_less_equal_v, ratio_greater_v) + (ratio_greater_equal_v): Likewise. + * include/std/system_error (is_error_code_enum_v) + (is_error_condition_enum_v): Likewise. + * include/std/tuple (tuple_size_v): Likewise. + * type_traits (conjunction_v, disjunction_v, negation_v) + (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v) + (is_array_v, is_pointer_v, is_lvalue_reference_v) + (is_rvalue_reference_v, is_member_object_pointer_v) + (is_member_function_pointer_v, is_enum_v, is_union_v) + (is_class_v, is_function_v, is_reference_v, is_arithmetic_v) + (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v) + (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v) + (is_trivially_copyable_v, is_standard_layout_v) + (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v) + (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v) + (is_constructible_v, is_default_constructible_v) + (is_copy_constructible_v, is_move_constructible_v) + (is_assignable_v, is_copy_assignable_v, is_move_assignable_v) + (is_destructible_v, is_trivially_constructible_v) + (is_trivially_default_constructible_v) + (is_trivially_copy_constructible_v, is_trivially_move_constructible_v) + (is_trivially_assignable_v, is_trivially_copy_assignable_v) + (is_trivially_move_assignable_v, is_trivially_destructible_v) + (is_nothrow_constructible_v, is_nothrow_default_constructible_v) + (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v) + (is_nothrow_assignable_v, is_nothrow_copy_assignable_v) + (is_nothrow_move_assignable_v, is_nothrow_destructible_v) + (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v) + (is_same_v, is_base_of_v, is_convertible_v): Likewise. + * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise. + * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: + Likewise. + * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. + * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. + * testsuite/20_util/variable_templates_for_traits.cc: Likewise. + +2016-07-29 Andreas Schwab + + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + +2016-07-29 Jonathan Wakely + + * doc/xml/manual/abi.xml: Document 6.0.22 library version. + * doc/html/manual/abi.html: Regenerate. + + * acinclude.m4 (libtool_VERSION): Bump to 6:23:0. + * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string + symbols. + * configure: Regenerate. + * testsuite/util/testsuite_abi.cc: Add new symbol version. + + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: + Likewise. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. + +2016-07-28 Jonathan Wakely + + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust dg-prune-output pattern for error in C++98 mode. + * 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. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + + * testsuite/23_containers/vector/check_construct_destroy.cc: Account + for different construct/destroy counts in C++98 mode. + + * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific + dg-options to dg-additional-options so that default options are used. + * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: + Likewise. + * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise. + * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: + Likewise. + * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: + Use dg-additional-options instead of repeating the common options. + + * testsuite/22_locale/conversions/string/1.cc: Remove unintended + dg-do compile directive. + * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of + dg-do directive. + * testsuite/26_numerics/valarray/const_bracket.cc: Likewise. + +2016-07-28 Ville Voutilainen + + Implement std::string_view and P0254r2, + Integrating std::string_view and std::string. + * include/Makefile.am: Add string_view and string_view.tcc + to the exported headers. + * include/Makefile.in: Likewise. + * include/bits/basic_string.h: Include in C++17 mode. + (__sv_type): New. + (basic_string(__sv_type, const _Alloc&)): Likewise. + (operator=(__sv_type)): Likewise. + (operator __sv_type()): Likewise. + (operator+=(__sv_type)): Likewise. + (append(__sv_type __sv)): Likewise. + (append(__sv_type, size_type, size_type)): Likewise. + (assign(__sv_type)): Likewise. + (assign(__sv_type, size_type, size_type)): Likewise. + (insert(size_type, __sv_type)): Likewise. + (insert(size_type, __sv_type, size_type, size_type)): Likewise. + (replace(size_type, size_type, __sv_type)): Likewise. + (replace(size_type, size_type, __sv_type, size_type, size_type)): + Likewise. + (replace(const_iterator, const_iterator, __sv_type)): Likewise. + (find(__sv_type, size_type)): Likewise. + (rfind(__sv_type, size_type)): Likewise. + (find_first_of(__sv_type, size_type)): Likewise. + (find_last_of(__sv_type, size_type)): Likewise. + (find_first_not_of(__sv_type, size_type)): Likewise. + (find_last_not_of(__sv_type, size_type)): Likewise. + (compare(__sv_type)): Likewise. + (compare(size_type, size_type, __sv_type)): Likewise. + (compare(size_type, size_type, __sv_type, size_type, size_type)): + Likewise. + * include/bits/string_view.tcc: New. + * include/std/string_view: Likewise. + * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. + * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/char/5.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. + * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: + Likewise. + * testsuite/21_strings/basic_string_view/include.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. + * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/range_access/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: + Likewise. + * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. + * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. + +2016-07-27 Jonathan Wakely + + * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line. + +2016-07-25 Georeth Chow + + * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify + _S_concat enumerator. + * testsuite/ext/rope/6.cc: New test. + +2016-07-25 Jonathan Wakely + + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use + std::mt19937, std::thread and std::atomic to simplify test. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. + +2016-07-22 Jonathan Wakely + + PR libstdc++/71964 + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor. + * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. + * testsuite/21_strings/basic_string/allocator/71964.cc: New test. + * testsuite/23_containers/set/allocator/71964.cc: New test. + + * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use + delete[] instead of delete. + +2016-07-21 Jonathan Wakely + + * include/experimental/propagate_const (propagate_const::__t): Rename + to _M_t and remove comment. Qualify std::move and std::forward. + * testsuite/experimental/propagate_const/cons/default.cc: Fix test. + + * testsuite/23_containers/vector/zero_sized_allocations.cc: + Define sized deallocation function. + * testsuite/util/testsuite_new_operators.h: + (operator delete(void*, const std::nothrow_t&)): Define nothrow + deallocation function. + + * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix + reads past the end of strings. + * testsuite/21_strings/basic_string/operations/compare/char/1.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix + invalid array accesses. + * testsuite/experimental/string_view/operations/compare/char/1.cc: + Fix read past the end of string. + * testsuite/util/testsuite_character.cc: Fix out-of-bounds write. + + * testsuite/24_iterators/container_access.cc: Fix missing returns. + * testsuite/24_iterators/range_access_cpp14.cc: Likewise. + + * testsuite/18_support/new_delete_placement.cc: Don't allocate (and + leak) memory for arguments to placement delete. + * testsuite/20_util/addressof/1.cc: Don't leak memory. + * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise. + * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: + Likewise. + +2016-07-20 Jonathan Wakely + + * doc/xml/manual/intro.xml: Document DR 2684 status. + * doc/html/*: Regenerate. + + * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t) + (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t) + (atomic_uint64_t): Define (LWG 2441). + * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty + lines. + * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for + the new types. + * doc/xml/manual/intro.xml: Document DR 2441 status. + + * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust + to use perfect forwarding (LWG 2328). + * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding. + * doc/xml/manual/intro.xml: Document DR 2328 status. + + * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use + static objects for catching nullptr as pointer to member types. + +2016-07-18 Ville Voutilainen + + Clean up optional's comments. + * include/std/optional: Remove incorrect section headers + from comments when redundant, replace bare section + headers with more descriptive comments. + +2016-07-15 Jonathan Wakely + + * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments. + * include/bits/move.h: Likewise. + * include/bits/postypes.h: Likewise. + * include/debug/bitset: Likewise. + * include/ext/pb_ds/detail/type_utils.hpp: Likewise. + * include/ext/string_conversions.h: Change C++0x to __cxx11 in + comment. + * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment. + * testsuite/util/thread/all.h: Likewise. + + * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE + and adjust comment. + + PR c++/58796 + * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make + nullptr match handlers of pointer type. + +2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement C++17 P0025 clamp. + * include/bits/algorithmfwd.h: Declare clamp overloads. + * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp. + * testsuite/25_algorithms/clamp/1.cc: New test. + * testsuite/25_algorithms/clamp/2.cc: New test. + * testsuite/25_algorithms/clamp/constexpr.cc: New test. + * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ + 1.cc: New test. + * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ + pod.cc: New test. + +2016-07-14 Ville Voutilainen + + Fix the constraints for any's assignment operator template to properly + reject assignment from a non-copyable lvalue. + * include/std/any (operator=(_ValueType&&)): Constrain the decayed + type for is_copy_constructible, + * testsuite/20_util/any/requirements.cc: Add a test for + non-copyable lvalues. + +2016-07-14 Jonathan Wakely + + * include/experimental/functional: Include in + Parallel Mode. + + * testsuite/experimental/functional/searchers.cc: Include + for std::search. + + PR libstdc++/70716 + * include/bits/forward_list.h (forward_list): Update doxygen comments + to reflect allocator propagation semantics. Remove ambiguous + statements about data being lost. + * include/bits/stl_deque.h (deque): Likewise. + * include/bits/stl_list.h (list): Likewise. + * include/bits/stl_map.h (map): Likewise. + * include/bits/stl_multimap.h (multimap): Likewise. + * include/bits/stl_multiset.h (multiset): Likewise. + * include/bits/stl_set.h (set): Likewise. + * include/bits/stl_vector.h (vector): Likewise. + * include/bits/unordered_map.h (unordered_map, unordered_multimap): + Likewise. + * include/bits/unordered_set.h (unordered_set, unordered_multiset): + Likewise. + +2016-07-14 Ville Voutilainen + + Implement P0032R3, Homogeneous interface for variant, any and optional, + for the parts concerning any and optional. + * include/std/any (_Storage()): Make constexpr and have it + initialize _M_ptr. + (any()): Make constexpr. + (any(const any&)): Adjust. + (any(any&&)): Likewise. + (__any_constructible_t): New. + (any(_ValueType&&)): Constrain. + (any(in_place_type_t<_Tp>, _Args&&...)): New. + (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)): + Likewise. + (~any()): Adjust. + (operator=(const any&)): Likewise. + (operator=(any&&)): Likewise. + (operator=(_ValueType&&)): Constrain. + (emplace(_Args&&...)): New. + (emplace(initializer_list<_Up>, _Args&&...)): Likewise. + (clear()): Remove. + (reset()): New. + (swap(any&)): Adjust. + (empty()): Remove. + (has_value()): New. + (type()): Adjust. + (_Manager_internal::_S_create(_Storage&, _Args&&...)): New. + (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise. + (make_any(_Args&&...)): Likewise. + (make_any(initializer_list<_Up>, _Args&&...)): Likewise. + * include/std/optional (in_place_t, in_place): Remove. + (bad_optional_access): Add a comment referring to LEWG 72. + (emplace(_Args&&...)): Constrain. + (has_value()): New. + (reset()): Likewise. + (make_optional(_Args&&...)): Likewise. + (make_optional(initializer_list<_Up>, _Args&&...)): Likewise. + * include/std/utility (in_place_tag): New. + (__in_place, __in_place_type, __in_place_index): Likewise. + (in_place_t, in_place_type_t, in_place_index_t): Likewise. + (in_place(__in_place*)): Likewise. + (in_place(__in_place_type<_Tp>*)): Likewise. + (in_place(__in_place_index<_Idx>*)): Likewise. + * testsuite/20_util/any/assign/1.cc: Adjust. + * testsuite/20_util/any/assign/emplace.cc: New. + * testsuite/20_util/any/assign/self.cc: Adjust. + * testsuite/20_util/any/cons/1.cc: Likewise. + * testsuite/20_util/any/cons/in_place.cc: New. + * testsuite/20_util/any/make_any.cc: Likewise. + * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. + * testsuite/20_util/any/misc/swap.cc: Likewise. + * testsuite/20_util/any/modifiers/1.cc: Likewise. + * testsuite/20_util/any/requirements.cc: New. + * testsuite/20_util/in_place/requirements.cc: Likewise. + * testsuite/20_util/optional/constexpr/in_place.cc: Adjust. + * testsuite/20_util/optional/in_place.cc: Likewise. + * testsuite/20_util/optional/make_optional.cc: Add tests for + the new overloads of make_optional. + +2016-07-13 Ville Voutilainen + + Implement P0307R2, Making Optional Greater Equal Again. + * include/experimental/optional (_Has_addressof): Fix the comment. + * include/std/optional (_Has_addressof): Likewise. + (operator=(_Up&&)): Constrain. + (operator=(const optional<_Up>&)): Likewise. + (operator=(optional<_Up>&&)): Likewise. + (__optional_relop_t): New. + (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. + (operator!=(const optional<_Tp>&, const optional<_Tp>&)): + Constrain and make transparent. + (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. + (operator>(const optional<_Tp>&, const optional<_Tp>&)): + Constrain and make transparent. + (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. + (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. + (operator==(const optional<_Tp>&, const _Tp&): Constrain. + (operator==(const _Tp&, const optional<_Tp>&)): Likewise. + (operator!=(const optional<_Tp>&, _Tp const&)): + Constrain and make transparent. + (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. + (operator<(const optional<_Tp>&, const _Tp&)): Constrain. + (operator<(const _Tp&, const optional<_Tp>&)): Likewise. + (operator>(const optional<_Tp>&, const _Tp&)): + Constrain and make transparent. + (operator>(const _Tp&, const optional<_Tp>&)): Likewise. + (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. + (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. + (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. + (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. + * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. + * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. + * testsuite/20_util/optional/relops/1.cc: Likewise. + * testsuite/20_util/optional/relops/2.cc: Likewise. + * testsuite/20_util/optional/relops/3.cc: Likewise. + * testsuite/20_util/optional/relops/4.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Add tests to verify + that optional's relops are transparent and don't synthesize + operators. Also test that assignment sfinaes. + +2016-07-13 Jonathan Wakely + + PR libstdc++/71856 + * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. + * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): + Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend + on _GLIBCXX_ASSERTIONS. + * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. + Include for sleep. + * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. + * include/parallel/merge.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/queue.h: Likewise. + * include/parallel/sort.h: Likewise. + * testsuite/25_algorithms/headers/algorithm/ + parallel_algorithm_assert.cc: New. + + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] + (replace(__const_iterator, __const_iterator, initializer_list)): + Forward to different overload. + + * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make + static. + +2016-07-13 Jonathan Wakely + + Revert "Add non-const overload of std::string::data()". + +2016-07-13 Ville Voutilainen + + Implement P0307R2, Making Optional Greater Equal Again. + * include/experimental/optional (_Has_addressof): Fix the comment. + * include/std/optional (_Has_addressof): Likewise. + (operator=(_Up&&)): Constrain. + (operator=(const optional<_Up>&)): Likewise. + (operator=(optional<_Up>&&)): Likewise. + (__optional_relop_t): New. + (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. + (operator!=(const optional<_Tp>&, const optional<_Tp>&)): + Constrain and make transparent. + (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. + (operator>(const optional<_Tp>&, const optional<_Tp>&)): + Constrain and make transparent. + (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. + (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. + (operator==(const optional<_Tp>&, const _Tp&): Constrain. + (operator==(const _Tp&, const optional<_Tp>&)): Likewise. + (operator!=(const optional<_Tp>&, _Tp const&)): + Constrain and make transparent. + (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. + (operator<(const optional<_Tp>&, const _Tp&)): Constrain. + (operator<(const _Tp&, const optional<_Tp>&)): Likewise. + (operator>(const optional<_Tp>&, const _Tp&)): + Constrain and make transparent. + (operator>(const _Tp&, const optional<_Tp>&)): Likewise. + (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. + (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. + (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. + (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. + * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. + * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. + * testsuite/20_util/optional/relops/1.cc: Likewise. + * testsuite/20_util/optional/relops/2.cc: Likewise. + * testsuite/20_util/optional/relops/3.cc: Likewise. + * testsuite/20_util/optional/relops/4.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Add tests to verify + that optional's relops are transparent and don't synthesize + operators. Also test that assignment sfinaes. + +2016-07-13 Jonathan Wakely + + * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): + New function. + (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() + instead of _M_data(). + (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): + Likewise. + (append(const basic_string&)): Likewise. + (append(const basic_string&, size_type, size_type)): Likewise. + (assign(const basic_string&, size_type, size_type)): Likewise. + (insert(size_type, const basic_string&)): Likewise. + (insert(size_type, const basic_string&, size_type, size_type)): + Likewise. + (replace(size_type, size_type, const basic_string&, size_type, + size_type)): Likewise. + (replace(__const_iterator, __const_iterator, const basic_string&)): + Likewise. + (c_str(), data()): Use c_str() instead of _M_data(). + (data()): Add non-const overload as per LWG 2391 and P0272R1. + (compare(const basic_string&)): Use data() instead of _M_data(). + [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. + * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): + Pass raw pointers to _S_copy. + (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and + _S_assign. + (find(const _CharT*, size_type, size_type)): Use data instead of + _M_data(). + * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. + * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. + * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. + +2016-07-12 Jonathan Wakely + + * libsupc++/new: Remove nothrow sized deletes (LWG 2458). + * doc/xml/manual/intro.xml: Document DR 2458 status. + * doc/html*: Regenerate. + + * testsuite/20_util/pair/astuple/astuple.cc: Only include . + * testsuite/23_containers/array/tuple_interface/tuple_element.cc: + Only include . + * testsuite/23_containers/array/tuple_interface/tuple_size.cc: + Likewise. + * doc/xml/manual/intro.xml: Document LWG 2212 support. + * doc/html*: Regenerate. + + * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: + Add testcase from LWG 2164. + +2016-07-11 François Dumont + + * include/bits/stl_vector.h (push_back(const value_type&)): Forward + to _M_realloc_insert. + (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. + (_M_realloc_insert): Declare new function. + (_M_emplace_back_aux): Remove definition. + * include/bits/vector.tcc (emplace_back(_Args...)): + Use _M_realloc_insert. + (insert(const_iterator, const value_type&)): Likewise. + (_M_insert_rval, _M_emplace_aux): Likewise. + (_M_emplace_back_aux): Remove declaration. + (_M_realloc_insert): Define. + * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: + Adjust expected results for emplacing an lvalue with reallocation. + +2016-07-10 Ville Voutilainen + + Implement std::optional. + * include/Makefile.am: Add optional to exported headers. + * include/Makefile.in: Likewise. + * include/std/optional: New. + * testsuite/20_util/optional/typedefs.cc: Likewise. + * testsuite/20_util/optional/relops/2.cc: Likewise. + * testsuite/20_util/optional/relops/3.cc: Likewise. + * testsuite/20_util/optional/relops/4.cc: Likewise. + * testsuite/20_util/optional/relops/5.cc: Likewise. + * testsuite/20_util/optional/relops/1.cc: Likewise. + * testsuite/20_util/optional/relops/6.cc: Likewise. + * testsuite/20_util/optional/nullopt.cc: Likewise. + * testsuite/20_util/optional/in_place.cc: Likewise. + * testsuite/20_util/optional/make_optional.cc: Likewise. + * testsuite/20_util/optional/assignment/2.cc: Likewise. + * testsuite/20_util/optional/assignment/3.cc: Likewise. + * testsuite/20_util/optional/assignment/4.cc: Likewise. + * testsuite/20_util/optional/assignment/5.cc: Likewise. + * testsuite/20_util/optional/assignment/1.cc: Likewise. + * testsuite/20_util/optional/assignment/6.cc: Likewise. + * testsuite/20_util/optional/cons/value_neg.cc: Likewise. + * testsuite/20_util/optional/cons/default.cc: Likewise. + * testsuite/20_util/optional/cons/move.cc: Likewise. + * testsuite/20_util/optional/cons/value.cc: Likewise. + * testsuite/20_util/optional/cons/copy.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Likewise. + * testsuite/20_util/optional/observers/2.cc: Likewise. + * testsuite/20_util/optional/observers/3.cc: Likewise. + * testsuite/20_util/optional/observers/4.cc: Likewise. + * testsuite/20_util/optional/observers/5.cc: Likewise. + * testsuite/20_util/optional/observers/1.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. + * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. + * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. + * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. + * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. + * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise. + * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. + * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. + * testsuite/20_util/optional/swap/1.cc: Likewise. + +2016-07-08 Jonathan Wakely + + * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New. + +2016-07-07 Jonathan Wakely + + * doc/xml/manual/status_cxx2014.xml: Update LFTS status table. + * doc/html/*: Regenerate. + +2016-07-07 Ville Voutilainen + + Implement std::any. + * include/Makefile.am: Add any and c++17_warning.h to exported headers. + * include/Makefile.in: Likewise. + * include/std/any: New. + * testsuite/20_util/any/assign/1.cc: Likewise. + * testsuite/20_util/any/assign/2.cc: Likewise. + * testsuite/20_util/any/assign/self.cc: Likewise. + * testsuite/20_util/any/cons/1.cc: Likewise. + * testsuite/20_util/any/cons/2.cc: Likewise. + * testsuite/20_util/any/cons/aligned.cc: Likewise. + * testsuite/20_util/any/cons/nontrivial.cc: Likewise. + * testsuite/20_util/any/misc/any_cast.cc: Likewise. + * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. + * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. + * testsuite/20_util/any/misc/swap.cc: Likewise. + * testsuite/20_util/any/modifiers/1.cc: Likewise. + * testsuite/20_util/any/observers/type.cc: Likewise. + * testsuite/20_util/any/typedefs.cc: Likewise. + +2016-07-06 Ville Voutilainen + + Add a new header for diagnosing the use of C++17 facilities + in pre-C++17 modes. + * include/bits/c++17_warning.h: New. + +2016-07-06 Ville Voutilainen + + Implement LWG 2451, optional should 'forward' T's + implicit conversions. + * include/experimental/optional (__is_optional_impl, __is_optional): + New. + (optional()): Make constexpr and default. + (optional(_Up&&), optional(const optional<_Up>&), + optional(optional<_Up>&& __t): New. + (operator=(_Up&&)): Constrain. + (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New. + * testsuite/experimental/optional/cons/value.cc: + Add tests for the functionality added by LWG 2451. + * testsuite/experimental/optional/cons/value_neg.cc: New. + +2016-07-05 Ville Voutilainen + + Implement LWG 2509, + any_cast doesn't work with rvalue reference targets and cannot + move with a value target. + * include/experimental/any (any(_ValueType&&)): Constrain and + add an overload that doesn't forward. + (any_cast(any&&)): Constrain and add an overload that moves. + * testsuite/experimental/any/misc/any_cast.cc: Add tests for + the functionality added by LWG 2509. + +2016-07-04 François Dumont + + * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: + New test. + * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New + test. + +2016-07-04 Jonathan Wakely + + * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)): + Define inline. Forward to _M_emplace_aux. + (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. + (_M_insert_rval, _M_emplace_aux): Declare new functions. + (_Temporary_value): New RAII type using allocator to construct/destroy. + (_S_insert_aux_assign): Remove. + (_M_insert_aux): Make non-variadic. + * include/bits/vector.tcc (insert(const_iterator, const value_type&)): + Use _Temporary_value. + (emplace(const_iterator, _Args&&...)): Remove definition. + (_M_insert_rval, _M_emplace_aux): Define. + (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign. + (_M_fill_insert): Use _Temporary_value. + * testsuite/23_containers/vector/allocator/construction.cc: New test. + * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: + Adjust expected results for emplacing an lvalue with reallocation. + * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust + expected results to account for construction/destruction of temporary + using allocator. + * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise. + +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-07-02 François Dumont + + * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust + dg-error line numbers. + * testsuite/23_containers/array/tuple_interface/ + tuple_element_debug_neg.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/debug/ + irreflexive_neg.cc: Remove. + +2016-06-30 Thomas Preud'homme + + * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather + than specific target. + +2016-06-27 François Dumont + + PR libstdc++/71640 + * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert + friend declaration. + +2016-06-23 François Dumont + + * include/debug/array (array<>::swap): Fix noexcept qualificaton for + zero-size array. + +2016-06-21 Trevor Saunders + + * configure.host: Remove mep-* support. + +2016-06-21 Trevor Saunders + + * configure: Regenerate. + * configure.host: Remove support for knetbsd. + * crossconfig.m4: Likewise. + +2016-06-20 François Dumont + + PR libstdc++/71181 + * include/tr1/hashtable_policy.h + (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator + dereferenceable to avoid check on lower_bound result. + (_Prime_rehash_policy::_M_bkt_for_elements): Call latter. + (_Prime_rehash_policy::_M_need_rehash): Likewise. + * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): + Always return a value greater than input value. Set _M_next_resize to + max value when reaching highest prime number. + * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel + being now useless. + * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New. + * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc + (test02): New. + * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New. + * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: + Fix indentation. + +2016-06-17 Jonathan Wakely + + PR libstdc++/71545 + * include/bits/stl_algobase.h (lower_bound, lexicographical_compare): + Remove irreflexive checks. + * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range, + binary_search): Likewise. + * testsuite/25_algorithms/equal_range/partitioned.cc: New test. + * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test. + * testsuite/25_algorithms/lower_bound/partitioned.cc: New test. + * testsuite/25_algorithms/upper_bound/partitioned.cc: New test. + * testsuite/util/testsuite_iterators.h (__gnu_test::test_container): + Add constructor from array. + +2016-06-16 François Dumont + + * include/debug/debug.h + (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty) + (__glibcxx_requires_subscript): Move... + * include/debug/assertions.h: ...here and add __builtin_expect. + (_GLIBCXX_DEBUG_ONLY): Remove ; value. + * include/bits/stl_deque.h + (std::deque<>::operator[]): Add __glibcxx_requires_subscript check. + (std::deque<>::front()): Add __glibcxx_requires_nonempty check. + (std::deque<>::back()): Likewise. + (std::deque<>::pop_front()): Likewise. + (std::deque<>::pop_back()): Likewise. + (std::deque<>::swap(deque&)): Add allocator check. + * include/bits/stl_vector.h + (std::vector<>::operator[]): Add __glibcxx_requires_subscript check. + (std::vector<>::front()): Add __glibcxx_requires_nonempty check. + (std::vector<>::back()): Likewise. + (std::vector<>::pop_back()): Likewise. + (std::vector<>::swap(vector&)): Add allocator check. + +2016-06-16 Daniel Kruegler + + Provide swappable traits (p0185r1) + * include/std/type_traits (is_swappable, is_nothrow_swappable, + is_swappable_with, is_nothrow_swappable_with, is_swappable_v, + is_nothrow_swappable_v, is_swappable_with_v, + is_nothrow_swappable_with_v): New. + * include/bits/stl_pair.h: Use it as per p0185r1. + * include/bits/stl_queue.h: Likewise. + * include/bits/stl_stack.h: Likewise. + * include/bits/unique_ptr.h: Likewise. + * include/std/tuple: Likewise. + * include/std/array: Likewise. Fix zero-size member swap. + * include/bits/hashtable.h: Use __and_. + * testsuite/20_util/is_nothrow_swappable/requirements/ + explicit_instantiation.cc: Change test options to std=gnu++17. + * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. + * testsuite/20_util/is_swappable/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_swappable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_swappable/requirements/ + explicit_instantiation_ext.cc: New. + * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc: + New. + * testsuite/20_util/is_nothrow_swappable/value.h: New. + * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New. + * testsuite/20_util/is_nothrow_swappable_with/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: + New. + * testsuite/20_util/is_nothrow_swappable_with/value.cc: New. + * testsuite/20_util/is_swappable/requirements/ + explicit_instantiation_ext.cc: New. + * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New. + * testsuite/20_util/is_swappable/value.h: New. + * testsuite/20_util/is_swappable/value_ext.cc: New. + * testsuite/20_util/is_swappable_with/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New. + * testsuite/20_util/is_swappable_with/value.cc: New. + * 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. + +2016-06-16 Jonathan Wakely + + * include/std/array: Remove trailing whitespace. + * include/std/atomic: Likewise. + * include/std/bitset: Likewise. + * include/std/chrono: Likewise. + * include/std/complex: Likewise. + * include/std/condition_variable: Likewise. + * include/std/fstream: Likewise. + * include/std/functional: Likewise. + * include/std/future: Likewise. + * include/std/iomanip: Likewise. + * include/std/iosfwd: Likewise. + * include/std/istream: Likewise. + * include/std/limits: Likewise. + * include/std/ratio: Likewise. + * include/std/scoped_allocator: Likewise. + * include/std/sstream: Likewise. + * include/std/stdexcept: Likewise. + * include/std/string: Likewise. + * include/std/system_error: Likewise. + * include/std/thread: Likewise. + * include/std/tuple: Likewise. + * include/std/type_traits: Likewise. + * include/std/utility: Likewise. + * include/std/valarray: Likewise. + * include/std/vector: Likewise. + + * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define + new overloaded functions. + * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions + to avoid creating a redundant temporary. + * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New + test. + +2016-06-15 François Dumont + + * include/bits/stl_deque.h + (std::deque<>::operator=): Call _M_assign_aux. + (std::deque<>::assign(initializer_list<>)): Likewise. + (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert. + (std::deque<>::insert(const_iterator, initializer_list<>)): + Call _M_range_insert_aux. + (std::deque<>::_M_assign_aux(It, It, std::forward_iterator_tag): + Likewise. + (std::deque<>::_M_fill_assign): Call _M_fill_insert. + (std::deque<>::_M_move_assign2): Call _M_assign_aux. + * include/bits/deque.tcc + (std::deque<>::operator=): Call _M_range_insert_aux. + (std::deque<>::_M_assign_aux(It, It, std::input_iterator_tag)): + Likewise. + * include/bits/stl_vector.h + (std::vector<>::operator=): Call _M_assign_aux. + (std::vector<>::assign(initializer_list<>)): Likewise. + (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert. + (std::vector<>::insert(const_iterator, initializer_list<>)): + Call _M_range_insert. + * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise. + +2016-06-07 François Dumont + + * include/std/tuple (_Head_base<>): Default specialization condition at + type declaration. + +2016-06-06 Ville Voutilainen + + Support allocators in tuples of zero size. + * include/std/tuple (tuple<>::tuple(), + tuple<>::tuple(allocator_arg_t, const _Alloc&), + tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New. + * testsuite/20_util/tuple/cons/allocators.cc: Adjust. + +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-06-05 Ville Voutilainen + + Protect allocator-overloads of tuple-from-tuple constructors + from cases that would create dangling references. + * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, + const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&, + tuple<_UElements...>&&)): Add a check for _NonNestedTuple. + * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust. + +2016-05-29 Gerald Pfeifer + + * doc/xml/manual/backwards_compatibility.xml: Adjust + lists.debian.org link to https. + * doc/html/manual/backwards.html: Regenerate. + +2016-05-27 Jonathan Wakely + + * doc/xml/manual/abi.xml: Adjust URL to use https. + * doc/html/manual/*: Regenerate. + +2016-05-27 Ville Voutilainen + + PR libstdc++/66338 + * include/std/tuple (_TMC): Add a check for _NotSameTuple. + * include/std/tuple (tuple(_UElements&&...)): Remove the separate + check for _NotSameTuple. + * include/std/tuple (_TMCT): New. + * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it. + * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise. + * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, + const tuple<_UElements...>&)): Likewise. + * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, + tuple<_UElements...>&&)): Likewise. + * testsuite/20_util/tuple/cons/66338.cc: New. + +2016-05-25 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. + * configure: Regenerate. + * config.h.in: Regenerate. + + * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it. + * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt): + Remove const qualification on function. Replace + _GLIBCXX14_USE_CONSTEXPR on automatic variables with const. + (_Power2_rehash_policy::_M_need_rehash): Remove const qualification. + (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier. + +2016-05-24 François Dumont + + * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New. + * include/bits/hashtable_policy.h + (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy + having load factor management. + (_Mask_range_hashing): New. + (__clp2): New. + (_Power2_rehash_policy): New. + (_Inserts<>): Remove last template parameter, _Unique_keys, so that + partial specializations only depend on whether iterators are constant + or not. + * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to + test new hash policy. + * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc: + Likewise. + * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: + Likewise. + * testsuite/23_containers/unordered_set/insert/hash_policy.cc: + Likewise. + * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: + Likewise. + * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc: + New. + * testsuite/performance/23_containers/insert/54075.cc: Add benchmark + using the new hash policy. + * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. + +2016-05-24 Jonathan Wakely + + * include/bits/stl_queue.h (priority_queue::value_compare): Define. + +2016-05-23 François Dumont + + * include/debug/safe_iterator.h + (_Safe_iterator<>::operator->()): Implement using underlying iterator + operator ->. + * include/debug/safe_local_iterator.h + (_Safe_local_iterator<>::operator->()): Likewise. + +2016-05-20 Thomas Preud'homme + + * testsuite/experimental/memory_resource/1.cc: Add required argument + to dg-require-atomic-builtins. + +2016-05-13 Jonathan Wakely + + PR libstdc++/71073 + * include/debug/bitset: Add #pragma GCC system_header. + * include/debug/deque: Likewise. + * include/debug/list: Likewise. + * include/debug/map: Likewise. + * include/debug/set: Likewise. + * include/debug/string: Likewise. + * include/debug/unordered_map: Likewise. + * include/debug/unordered_set: Likewise. + * include/debug/vector: Likewise. + * include/debug/functions.h: Adjust whitespace. + +2016-05-12 Jonathan Wakely + + PR libstdc++/71081 + * testsuite/experimental/memory_resource/1.cc: Require atomics. + +2016-05-11 Jonathan Wakely + + PR libstdc++/71049 + * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define + exception constructors with __sso_string parameters. + +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. + + PR libstdc++/71038 + * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. + * testsuite/experimental/filesystem/operations/copy_file.cc: New test. + + * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): + Overload operator* to move from rvalues. + + PR libstdc++/71036 + * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. + * testsuite/experimental/filesystem/operations/create_directory.cc: + New test. + + 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. + + * testsuite/experimental/type_erased_allocator/2.cc: Remove unused + using declaration. + + 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-09 Jonathan Wakely + + PR libstdc++/71004 + * testsuite/experimental/filesystem/iterators/ + recursive_directory_iterator.cc: Fix test02 to not call member + functions on invalid iterator, and use VERIFY not assert. + +2016-05-09 Ville Voutilainen + + Avoid endless run-time recursion for copying single-element + tuples where the element type is by-value constructible + from any type. + * include/std/tuple (_NotSameTuple): New. + * include/std/tuple (tuple(_UElements&&...): Use it. + * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New. + +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-05 Rainer Orth + + * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*. + +2016-05-05 Jonathan Wakely + + * testsuite/experimental/filesystem/path/native/string.cc: Add + dg-require-filesystem-ts directive. + +2016-05-04 Jonathan Wakely + + PR libstdc++/70940 + * include/experimental/memory_resource + (__resource_adaptor_imp::do_allocate): Do not default-construct + rebound allocator. + (__resource_adaptor_imp::do_deallocate): Likewise. Use + allocator_traits to get pointer type. + (__null_memory_resource::do_allocate): Remove unused parameters. + (__null_memory_resource::do_deallocate): Likewise. + (__null_memory_resource::do_is_equal): Likewise. Add return statement. + * testsuite/experimental/type_erased_allocator/1.cc: Combine with ... + * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and + move to ... + * testsuite/experimental/memory_resource/1.cc: Here. + * testsuite/experimental/memory_resource/null_memory_resource.cc: New. + * testsuite/experimental/memory_resource/resource_adaptor.cc: New. + +2016-04-29 Chris Gregory + + * config/*: Remove trailing whitespace. + * src/*: Likewise. + * testsuite/tr1/*: Likewise. + * testsuite/util/*: Likewise. + +2016-04-28 Jonathan Wakely + + PR libstdc++/70766 + * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use + __addressof. + * include/bits/stream_iterator.h (istream_iterator, ostream_iterator): + Likewise. + * include/std/atomic (atomic<_Tp>): Likewise. + * include/std/shared_mutex (shared_lock): Likewise. + * testsuite/24_iterators/istream_iterator/70766.cc: New test. + * testsuite/24_iterators/ostream_iterator/70766.cc : New test. + * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. + * testsuite/29_atomics/atomic/70766.cc: New test. + * testsuite/30_threads/shared_lock/70766.cc: New test. + + * include/bits/hashtable_policy.h (__detail::_Insert_base, + __detail::_Insert): Improve comments. + +2016-04-27 Jonathan Wakely + + PR libstdc++/70767 + * include/std/limits: Update comments about DRs. + (numeric_limits, numeric_limits, + numeric_limits): Define unconditionally. + +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. + +2016-04-22 Tim Shen + + PR libstdc++/70745 + * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary): + Fix the match_not_bow and match_not_eow behavior. + * testsuite/28_regex/regression.cc: Add testcase. + +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. + +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. + + 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(). + + * 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-19 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/bits/c++14_warning.h: Do not refer C++14 as experimental. + +2016-04-18 Jonathan Wakely + + PR libstdc++/41759 + * include/bits/random.h: Reword static assertion messages to state + positive conditions. + * include/bits/random.tcc: Likewise. + * include/bits/uniform_int_dist.h: Likewise. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + patterns. + + * include/std/function (_Bind, _Bind_result): Remove unused typedefs. + + * config/cpu/sh/atomicity.h: Fix typo in comment. + + PR libstdc++/70294 + * include/std/thread (operator<, operator==): Move definitions to + namespace-scope. + * testsuite/30_threads/thread/id/70294.cc: New test. + + * testsuite/18_support/bad_exception/23591_thread-1.c: Add + -Wno-pedantic to dg-options. + * testsuite/20_util/align/2.cc: Use type as operand of alignof. + * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic + to dg-options. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc: + Remove extra semi-colon. + * testsuite/23_containers/array/tuple_interface/tuple_element.cc: + Always supply second argument to static_assert. + * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra + semi-colon. + * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to + dg-options. + * testsuite/26_numerics/complex/literals/values.cc: Likewise. + * testsuite/29_atomics/atomic/60695.cc: Likewise. + * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of + alignof when operand is an object not a type. + * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options. + * testsuite/decimal/make-decimal.cc: Likewise. + * testsuite/experimental/type_traits/value.cc: Always supply second + argument to static_assert. + * testsuite/util/testsuite_common_types.h: Use __extension__ for + __int128 types. + + * testsuite/experimental/type_erased_allocator/1.cc: Don't include + internal header. + * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise. + * testsuite/experimental/type_erased_allocator/2.cc: Likewise. + * testsuite/experimental/type_erased_allocator/uses_allocator.cc: + Likewise. Add licence and change to compile-only test. + + * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to + unused parameter. + * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise. + + * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare + warnings. + +2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/bits/specfun.h: Trivial comment misspelling. + +2016-04-14 Jason Merrill + + Revert Jonathan's empty ABI change from yesterday. + +2016-04-13 Martin Sebor + + PR c++/69517 + * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA + upper bound is positive. + +2016-04-13 Jonathan Wakely + + * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES, + _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define. + * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures + of functions taking empty structs by value. Add a template parameter + to overloads without hints. Rename overloads with hints to + _M_emplace_hint. + (_Hashtable::_M_erase(true_type, const_iterator), + _Hashtable::_M_erase(false_type, const_iterator)): Change signatures + by reordering parameters. + * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call + _M_emplace_hint instead of _M_emplace. + * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc), + shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY. + * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count, + __shared_ptr): Likewise. + * include/bits/stl_algo.h (replace_if): Likewise. + * include/bits/stl_pair.h (piecewise_construct_t, + piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES. + * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg, + __uses_alloc0): Likewise. + * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise. + * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. + * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. + * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. + +2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net> + + Document C++17/TR29124 C++ Special Math Functions. + * include/bits/specfun.h: Add Doxygen markup. + +2016-04-07 Jonathan Wakely + + * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass. + +2016-04-06 Eric Botcazou + + * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. + * src/Makefile.in: Regenerate. + +2016-04-05 Jonathan Wakely + + PR libstdc++/70554 + * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test + __atomic_fetch_add for bool. + * configure: Regenerate. + + * testsuite/30_threads/thread/70503.cc: Require -static to work. + + 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. + +2016-04-05 Ville Voutilainen + + PR libstdc++/70437 + * include/bits/stl_pair.h (_ConstructiblePair, + _ImplicitlyConvertiblePair, _MoveConstructiblePair, + _ImplicitlyMoveConvertiblePair): Add shortcut conditions + for same-type cases. + * testsuite/20_util/pair/70437.cc: New. + +2016-03-24 Jonathan Wakely + + PR libstdc++/69945 + * config/abi/pre/gnu.ver: Add new symbol. + * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define. + * testsuite/18_support/free_eh_pool.cc: New test. + +2016-03-23 Bernd Edlinger + + * include/Makefile.am (install-freestanding-headers): Add + concept_check.h and move.h to the installed headers. + * include/Makefile.in: Regenerated. + * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for + freestanding implementations. + * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention + that this macro has no effect for freestanding implementations. + * doc/html/manual/using_macros.html: Likewise. + +2016-02-24 Jonathan Wakely + + PR libstdc++/69939 + * include/experimental/tuple (__apply_impl): Qualify get and forward. + +2016-02-23 Jonathan Wakely + + * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__. + * doc/html/*: Regenerate. + + PR libstdc++/69893 + * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc, + exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint, + llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter, + nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma, + trunc) [__cplusplus >= 201103L]: Import from namespace std. + (fabs) [__cplusplus < 201103L]: Import from namespace std. + * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]: + Likewise. + * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global + namespace before including TR1 headers. + * testsuite/tr1/headers/c++200x/math.cc: New test. + +2016-02-23 Bernd Edlinger + + PR libstdc++/69881 + * include/c_global/cstdarg: Undefine __need___va_list. + * include/c_global/cstddef: Undefine all kinds of __need_*. + +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-08 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally + added 'constexpr' in previous commit. + * configure: Regenerate. + + PR libstdc++/48891 + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan + checks for all targets except *-*-solaris2.* and ensure we find the + libc math.h header not our own. + * configure: Regenerate. + +2016-02-05 Dominik Vogt + + * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC): + New file. Copied over from s390-linux-gnu. + +2016-02-04 Jonathan Wakely + + PR libstdc++/69626 + * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions + with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB. + * config.h.in: Regenerate. + * configure: Regenerate. + * testsuite/21_strings/c_strings/char/69626.cc: New. + + * doc/html/index.html: Regenerate. + + * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI. + * doc/xml/manual/spine.xml: Update copyright years and author blurb. + * doc/html/*: Regenerate. + +2016-02-01 Bernd Edlinger + + PR libstdc++/69581 + * include/c_compatibility/math.h: Move header guards. + * include/c_compatibility/stdlib.h: Likewise. + +2016-01-29 Jonathan Wakely + + PR libstdc++/69506 + * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. + +2016-01-28 John David Anglin + + PR libstdc++/69450 + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete + isinf and isnan functions into two independent checks. Check on hpux. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cmath (isinf(double), isnan(double)): Use + _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN, + respectively. + +2016-01-27 Jakub Jelinek + + * testsuite/libstdc++-prettyprinters/whatis.cc: Include . + +2016-01-27 Jonathan Wakely + + PR libstdc++/69295 + * testsuite/ext/special_functions/hyperg/check_value.cc: Use + -ffp-contract=off, and -ffloat-store to disable excess precision. + * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use + -ffp-contract=off. + +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. + +2016-01-26 Andris Pavenis + + * include/c_compatibility/stdlib.h: Include wide character related + definitions only when they are available in cstdlib. + +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. + +2016-01-23 John David Anglin + + PR libstdc++/69446 + * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. + +2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net> + + TR29124 C++ Special Math - pulls funcs into global namespace. + * include/c_compatibility/math.h: Import the TR29124 functions + into the global namespace. + * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove + xfail and make compile-only. + * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto. + * testsuite/special_functions/03_beta/compile_2.cc: Ditto. + * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto. + * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto. + * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto. + * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto. + * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto. + * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto. + * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto. + * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto. + * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto. + * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto. + * testsuite/special_functions/14_expint/compile_2.cc: Ditto. + * testsuite/special_functions/15_hermite/compile_2.cc: Ditto. + * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto. + * testsuite/special_functions/17_legendre/compile_2.cc: Ditto. + * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto. + * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto. + * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto. + * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto. + +2016-01-22 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. + + PR libstdc++/69413 + * config/os/gnu-linux/os_defines.h: Define + _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC. + * include/c_global/cmath (isinf, isnan): Check it. + * doc/xml/manual/internals.xml: Document it. + * doc/html/*: Regenerate. + +2016-01-21 Jonathan Wakely + + PR libstdc++/69406 + * include/bits/cpp_type_traits.h: Ensure C++ language linkage. + * include/ext/type_traits.h: Likewise. + * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros + for presence of C headers. + * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust + dg-error line number. + * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise. + * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise. + * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise. + +2016-01-20 Torvald Riegel + + PR libstdc++/69310 + * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. + +2016-01-20 Jonathan Wakely + + PR libstdc++/60401 + * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt, + copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, + lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, + nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn, + tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]: + Add using declarations. + * testsuite/26_numerics/headers/cmath/60401.cc: New. + + PR libstdc++/69386 + * include/c_global/ccomplex: Ensure C++ language linkage. + * include/c_global/cmath: Likewise. + * include/c_global/cstdlib: Likewise. + * include/c_global/ctgmath: Likewise. + * testsuite/17_intro/headers/c++2011/linkage.cc: New. + +2016-01-19 Jonathan Wakely + + PR libstdc++/14608 + PR libstdc++/60401 + * include/Makefile.am: Use c_compatibility math.h and stdlib.h for + --enable-cheaders=c_global configs. + * include/Makefile.in: Regenerate. + * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C + test and allow inclusion from C files. + * include/c_compatibility/stdlib.h: Likewise. Support freestanding. + (at_quick_exit, quick_exit): Add using directives. + * include/c_global/cmath: Use #include_next for math.h. + * include/c_global/cstdlib: Use #include_next for stdlib.h. + * testsuite/26_numerics/headers/cmath/14608.cc: New. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Remove xfail for most targets. + * testsuite/26_numerics/headers/cstdlib/60401.cc: New. + +2016-01-18 Torvald Riegel + + * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New. + (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF + and move after its definition. + * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override. + * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of + __GXX_WEAK__, and only provide transactional clones if + _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm + functions. + +2016-01-18 Jonathan Wakely + + PR libstdc++/60637 + * testsuite/26_numerics/headers/cmath/60637.cc: Add test. + + 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. + + PR libstdc++/69340 + * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): + Use macros for exception handling and fix unused parameter warning. + +2016-01-17 John David Anglin + + PR libstdc++/68734 + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. + +2016-01-17 Torvald Riegel + + * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert. + +2016-01-16 H.J. Lu + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add + __int128 symbols. + +2016-01-15 Jonathan Wakely + + PR libstdc++/69293 + * include/bits/uses_allocator.h (__uses_alloc): Add + static assertion that type is constructible from the arguments. + * testsuite/20_util/scoped_allocator/69293_neg.cc: New. + * testsuite/20_util/uses_allocator/69293_neg.cc: New. + * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. + + PR libstdc++/69294 + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf + and isnan on AIX. Quote variables. + * configure: Regenerate. + +2016-01-15 Torvald Riegel + + * include/bits/basic_string.h (basic_string): Declare friends. + * include/bits/c++config (_GLIBCXX_TXN_SAFE, + _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New. + * include/std/stdexcept (logic_error, domain_error, invalid_argument, + length_error, out_of_range, runtime_error, range_error, + underflow_error, overflow_error): Declare members as transaction-safe. + (logic_error, runtime_error): Declare friend functions. + * libsupc++/exception (exception, bad_exception): Declare members as + transaction-safe. + * src/c++11/cow-stdexcept.cc: Define transactional clones for the + transaction-safe members of exceptions and helper functions. + * libsupc++/eh_exception.cc: Adjust and define transactional clones. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones. + (CXXABI_1.3.10): New. + * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New. + (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW. + * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING. + * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h. + * include/Makefile.in: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10. + +2016-01-15 Steve Ellcey + + * include/ext/random.tcc: Use __builtin_isfinite instead of + std::isfinite. + +2016-01-15 Jonathan Wakely + + * include/bits/std_mutex.h: Fix Doxygen @file name. + +2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net> + Jonathan Wakely + Florian Goth + + Implement TR29124 C++ special Math Functions. + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/bits/specfun.h: New. + * include/c_global/cmath: Adjust for both tr1 and tr29124 maths. + * include/tr1/bessel_function.tcc: Ditto. + * include/tr1/beta_function.tcc: Ditto. + * include/tr1/cmath: Ditto. + * include/tr1/ell_integral.tcc: Ditto. + * include/tr1/exp_integral.tcc: Ditto. + * include/tr1/gamma.tcc: Ditto. + * include/tr1/hypergeometric.tcc: Ditto. + * include/tr1/legendre_function.tcc: Ditto. + * include/tr1/modified_bessel_func.tcc: Ditto. + * include/tr1/poly_hermite.tcc: Ditto. + * include/tr1/poly_laguerre.tcc: Ditto. + * include/tr1/riemann_zeta.tcc: Ditto. + * include/tr1/special_function_util.h: Ditto. + * testsuite/ext/special_functions/conf_hyperg: New. + * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New. + * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New. + * testsuite/ext/special_functions/conf_hyperg/compile.cc: New. + * testsuite/ext/special_functions/hyperg: New. + * testsuite/ext/special_functions/hyperg/check_nan.cc: New. + * testsuite/ext/special_functions/hyperg/check_value.cc: New. + * testsuite/ext/special_functions/hyperg/compile.cc: New. + * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory. + * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New. + * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New. + * testsuite/special_functions/01_assoc_laguerre/compile.cc: New. + * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New. + * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New. + * testsuite/special_functions/02_assoc_legendre/check_value.cc: New. + * testsuite/special_functions/02_assoc_legendre/compile.cc: New. + * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New. + * testsuite/special_functions/03_beta/check_nan.cc: New. + * testsuite/special_functions/03_beta/check_value.cc: New. + * testsuite/special_functions/03_beta/compile.cc: New. + * testsuite/special_functions/03_beta/compile_2.cc: New. + * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New. + * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New. + * testsuite/special_functions/04_comp_ellint_1/compile.cc: New. + * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New. + * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New. + * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New. + * testsuite/special_functions/05_comp_ellint_2/compile.cc: New. + * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New. + * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New. + * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New. + * testsuite/special_functions/06_comp_ellint_3/compile.cc: New. + * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New. + * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New. + * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New. + * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New. + * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New. + * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New. + * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New. + * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New. + * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New. + * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New. + * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New. + * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New. + * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New. + * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New. + * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New. + * testsuite/special_functions/10_cyl_neumann/check_value.cc: New. + * testsuite/special_functions/10_cyl_neumann/compile.cc: New. + * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New. + * testsuite/special_functions/11_ellint_1/check_nan.cc: New. + * testsuite/special_functions/11_ellint_1/check_value.cc: New. + * testsuite/special_functions/11_ellint_1/compile.cc: New. + * testsuite/special_functions/11_ellint_1/compile_2.cc: New. + * testsuite/special_functions/12_ellint_2/check_nan.cc: New. + * testsuite/special_functions/12_ellint_2/check_value.cc: New. + * testsuite/special_functions/12_ellint_2/compile.cc: New. + * testsuite/special_functions/12_ellint_2/compile_2.cc: New. + * testsuite/special_functions/13_ellint_3/check_nan.cc: New. + * testsuite/special_functions/13_ellint_3/check_value.cc: New. + * testsuite/special_functions/13_ellint_3/compile.cc: New. + * testsuite/special_functions/13_ellint_3/compile_2.cc: New. + * testsuite/special_functions/14_expint/check_nan.cc: New. + * testsuite/special_functions/14_expint/check_value.cc: New. + * testsuite/special_functions/14_expint/compile.cc: New. + * testsuite/special_functions/14_expint/compile_2.cc: New. + * testsuite/special_functions/15_hermite/check_nan.cc: New. + * testsuite/special_functions/15_hermite/check_value.cc: New. + * testsuite/special_functions/15_hermite/compile.cc: New. + * testsuite/special_functions/15_hermite/compile_2.cc: New. + * testsuite/special_functions/16_laguerre/check_nan.cc: New. + * testsuite/special_functions/16_laguerre/check_value.cc: New. + * testsuite/special_functions/16_laguerre/compile.cc: New. + * testsuite/special_functions/16_laguerre/compile_2.cc: New. + * testsuite/special_functions/17_legendre/check_nan.cc: New. + * testsuite/special_functions/17_legendre/check_value.cc: New. + * testsuite/special_functions/17_legendre/compile.cc: New. + * testsuite/special_functions/17_legendre/compile_2.cc: New. + * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New. + * testsuite/special_functions/18_riemann_zeta/check_value.cc: New. + * testsuite/special_functions/18_riemann_zeta/compile.cc: New. + * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New. + * testsuite/special_functions/19_sph_bessel/check_nan.cc: New. + * testsuite/special_functions/19_sph_bessel/check_value.cc: New. + * testsuite/special_functions/19_sph_bessel/compile.cc: New. + * testsuite/special_functions/19_sph_bessel/compile_2.cc: New. + * testsuite/special_functions/20_sph_legendre/check_nan.cc: New. + * testsuite/special_functions/20_sph_legendre/check_value.cc: New. + * testsuite/special_functions/20_sph_legendre/compile.cc: New. + * testsuite/special_functions/20_sph_legendre/compile_2.cc: New. + * testsuite/special_functions/21_sph_neumann/check_nan.cc: New. + * testsuite/special_functions/21_sph_neumann/check_value.cc: New. + * testsuite/special_functions/21_sph_neumann/compile.cc: New. + * testsuite/special_functions/21_sph_neumann/compile_2.cc: New. + * testsuite/util/specfun_testcase.h: New. + * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases. + * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto. + * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto. + * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto. + * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto. + * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto. + * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New. + +2016-01-13 Jonathan Wakely + + PR libstdc++/48891 + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf + and isnan functions. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cmath (isinf(double), isnan(double)) + [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive. + * testsuite/26_numerics/headers/cmath/48891.cc: New. + +2016-01-13 Rainer Orth + + PR libstdc++/66006 + * configure.host (abi_baseline_pair): Use separate baseline for + Solaris 11+ and Solaris 10 with gld. + * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file. + * config/abi/post/solaris2.11/baseline_symbols.txt: New file. + * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file. + +2016-01-12 Daniel Kruegler + + PR libstdc++/68877 + * include/std/type_traits: Following N4511, reimplement __is_swappable + and __is_nothrow_swappable. Move __is_swappable to namespace std, + adjust callers. Use __is_nothrow_swappable in swap. + * include/bits/move.h: Use __is_nothrow_swappable in swap. + * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove + __is_swappable related tests. + * testsuite/20_util/is_swappable/value.cc: New. + * testsuite/20_util/is_swappable/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/is_swappable/requirements/typedefs.cc: New. + * testsuite/25_algorithms/swap/68877.cc: New. + +2016-01-12 Jonathan Wakely + + * testsuite/20_util/function/68995.cc: Test reference_wrapper cases. + + 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. + +2016-01-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-01-08 Jonathan Wakely + + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++.cc: Rename to ... + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++98.cc: Here and add -std=gnu++98. + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++0x.cc: Rename to ... + * testsuite/26_numerics/headers/cmath/ + c99_classification_macros_c++11.cc: Here. + + PR libstdc++/69190 + * include/bits/uses_allocator.h: Add missing include. + +2016-01-07 Jonathan Wakely + + PR libstdc++/69105 + PR libstdc++/69106 + PR libstdc++/69114 + * include/bits/stl_iterator.h (back_insert_iterator, + front_insert_iterator, insert_iterator): Use __addressof (LWG 2324). + * include/bits/uses_allocator.h (__use_alloc): Use __addressof. + * include/std/future (__future::base::_State_baseV2::__setter): + Likewise. + * include/std/scoped_allocator (__outermost): Likewise. + * testsuite/20_util/scoped_allocator/69114.cc: New. + * testsuite/20_util/uses_allocator/69114.cc: New. + * testsuite/30_threads/promise/69106.cc: New. + +2016-01-06 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. + + * include/Makefile.am: Adjust. + * include/Makefile.in: Regenerate. + * include/bits/mutex.h: Rename to bits/std_mutex.h. + * include/std/condition_variable: Adjust include. + * include/std/mutex: Likewise. + +2016-01-04 Jakub Jelinek + + Update copyright years. + +Copyright (C) 2016 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. -- cgit v1.2.3