From 818ab71a415cd234be092111a0aa5e812ec56434 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 4 Jan 2016 15:30:50 +0100 Subject: Update copyright years. From-SVN: r232055 --- libstdc++-v3/ChangeLog-2015 | 5051 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5051 insertions(+) create mode 100644 libstdc++-v3/ChangeLog-2015 (limited to 'libstdc++-v3/ChangeLog-2015') diff --git a/libstdc++-v3/ChangeLog-2015 b/libstdc++-v3/ChangeLog-2015 new file mode 100644 index 0000000..d68b683 --- /dev/null +++ b/libstdc++-v3/ChangeLog-2015 @@ -0,0 +1,5051 @@ +2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/bits/c++0x_warning.h Remove experimental language. + +2015-12-24 Jason Merrill + + * testsuite/ext/bitmap_allocator/check_deallocate_null.cc + * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: + Correct use of __GXX_WEAK__ macro. + +2015-12-22 Jonathan Wakely + + PR libstdc++/59768 + * include/std/functional (__invfwd): Add inline specifier. + +2015-12-21 Jonathan Wakely + + PR libstdc++/68982 + testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ... + testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number. + + PR libstdc++/68995 + * include/std/functional (_function_handler, function): Qualify + __callable_functor. + * testsuite/20_util/function/68995.cc: New. + + PR libstdc++/68276 + * include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify + std::forward. + testsuite/20_util/function_objects/mem_fn/68276.cc: New. + +2015-12-21 Ville Voutilainen + + PR libstdc++/66693 + * include/std/tuple (tuple_element, tuple_size, tuple_element_t, + __tuple_element_t): Move to... + * include/std/utility: ...here. + * testsuite/20_util/pair/astuple/astuple.cc: Adjust. + * testsuite/20_util/pair/astuple/astuple_cpp14.cc: New. + * testsuite/20_util/tuple/tuple_element.cc: Adjust. + * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. + * testsuite/20_util/tuple/tuple_size.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element.cc: + Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc: + New. + * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust. + +2015-12-18 Ville Voutilainen + + Fix a regression introduced by the fix of libstdc++/68276. + * src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that + bad_array_new_length is handled properly. + +2015-12-18 Ville Voutilainen + + PR libstdc++/68276 + + * src/c++11/ios.cc (_M_grow_words): Use nothrow new. + * testsuite/27_io/ios_base/storage/11584.cc: Adjust. + +2015-12-18 Andris Pavenis + + * config/os/djgpp/error_constants.h: update according to DJGPP errno + macros. + +2015-12-15 Jonathan Wakely + + PR libstdc++/68921 + * src/c++11/futex.cc + (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer + as timeout argument. + + * include/std/functional (_Mu<_Arg, false, false>::operator()): Restore + accidentally-removed volatile qualifier. + + * include/std/functional (is_placeholder, is_bind_expression): Update + comments. + (_Safe_tuple_element): Replace with _Safe_tuple_element_t alias + template. + (_Mu): Remove vestigial TR1 return types and update coments. + + PR libstdc++/68912 + * include/std/functional (_Bind::operator()): Use lvalue functor to + deduce return type. + * testsuite/20_util/bind/68912.cc: New. + +2015-12-15 Tim Shen + + PR libstdc++/68863 + * include/bits/regex_executor.tcc (_Executor::_M_lookahead): + Copy the captured content for lookahead, so that the backreferences + inside can refer to them. + * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: + New testcase. + +2015-12-14 Ville Voutilainen + + Document the implementation of Logical Operator Type Traits. + + * doc/html/index.html: Regenerate. + * doc/html/manual/status.html: Likewise. + * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z + and to Library Fundamentals 2 TS. + +2015-12-11 Jonathan Wakely + + PR libstdc++/59768 + * include/std/functional (_Unwrap, __invfwd): Define. + (__invoke_impl): Remove reference_wrapper overloads and use __invfwd. + * include/std/type_traits (__result_of_memobj, __result_of_memfun): + Add partial specializations for const reference_wrappers and simplify. + * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors. + * testsuite/20_util/function_objects/invoke/59768.cc: New. + +2015-12-11 Ville Voutilainen + + PR libstdc++/68139 + + * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof. + * testsuite/18_support/nested_exception/68139.cc: New. + +2015-12-10 Jonathan Wakely + + * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace + -std=gnu++1y with -std=gnu++14. + * testsuite/experimental/memory/shared_ptr/cast/cast.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/copy_ctor_neg.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. + + PR libstdc++/68825 + * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr, + experimental::shared_ptr, experimental::weak_ptr): Constrain + assignment operators. + * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: + Change to a compile-only test and change dg-excess-errors to dg-error. + + * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers + to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update + PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. + * include/backward/strstream: Correct @file comment. + * include/bits/forward_list.h: Improve Doxygen comments. + * include/bits/locale_facets_nonio.h: Likewise. + * include/bits/mutex.h: Likewise. + * include/bits/shared_ptr.h: Likewise. + * include/bits/stl_deque.h: Likewise. + * include/debug/vector (_Safe_vector): Add @brief section to comment. + * include/experimental/bits/fs_dir.h: Correct @file comment. + * include/experimental/bits/fs_fwd.h: Likewise. + * include/experimental/bits/fs_ops.h: Likewise. + * include/experimental/bits/fs_path.h: Likewise. + * include/experimental/bits/string_view.tcc: Likewise. + * include/experimental/optional: Document experimental status. + * include/experimental/string_view: Correct @file comment. + * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce + whitespace to avoid Doxygen bug. + * include/std/bitset: Remove redundant @class Doxygen command. Add + parentheses to avoid Doxygen bug. + * include/std/mutex: Improve Doxygen comments. + * include/tr2/dynamic_bitset: Add missing @param documentation. + * scripts/run_doxygen: Rename man pages for std::experimental types. + +2015-12-04 Jonathan Wakely + + PR libstdc++/57060 + * include/std/thread (operator==(thread::id, thread::id)): Do not use + __gthread_equal. + (operator<(thread::id, thread::id)): Add comment. + (this_thread::get_id()): Do not use __gthread_self for single-threaded + programs using glibc. + * testsuite/30_threads/this_thread/57060.cc: New. + +2015-12-02 Jonathan Wakely + + PR libstdc++/56383 + * testsuite/20_util/enable_shared_from_this/56383.cc: New. + * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make + friend declaration match previous declaration of + __enable_shared_from_this_helper. + * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. + +2015-12-01 Jonathan Wakely + + * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition + after __is_encoded_char explicit specializations. + +2015-11-26 Jonathan Wakely + + * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to + dg-options and avoid use of uniform-init. + + * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to + dg-options and avoid use of uniform-init. + +2015-11-26 David Edelsohn + + * configure: Regenerate. + +2015-11-25 Jonathan Wakely + + * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly + check minimum and maximum values, and size of underlying type. + * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. + +2015-11-25 Rainer Orth + + * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) : Use + -Wl,-R in VTV_CXXLINKFLAGS. + * configure: Regenerate. + + * testsuite/18_support/bad_exception/23591_thread-1.c: Use + -fvtable-verify=none on Solaris 12+. + +2015-11-24 Rainer Orth + + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. + * configure.ac: Use it. + * configure: Regenerate. + * config.h.in: Regenerate. + + * include/c_global/cmath [__cplusplus >= 201103L] + (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. + (std::isfinite): Likewise. + (std::isinf): Likewise. + (std::isnan): Likewise. + (std::isnormal): Likewise. + (std::signbit): Likewise. + (std::isgreater): Likewise. + (std::isgreaterequal): Likewise. + (std::isless): Likewise. + (std::islessequal): Likewise. + (std::islessgreater): Likewise. + (std::isunordered): Likewise. + (std::acosh): Likewise. + (std::asinh): Likewise. + (std::atanh): Likewise. + (std::cbrt): Likewise. + (std::copysign): Likewise. + (std::erf): Likewise. + (std::erfc): Likewise. + (std::exp2): Likewise. + (std::expm1): Likewise. + (std::fdim): Likewise. + (std::fma): Likewise. + (std::fmax): Likewise. + (std::fmin): Likewise. + (std::hypot): Likewise. + (std::ilogb): Likewise. + (std::lgamma): Likewise. + (std::llrint): Likewise. + (std::llround): Likewise. + (std::log1p): Likewise. + (std::log2): Likewise. + (std::logb): Likewise. + (std::lrint): Likewise. + (std::lround): Likewise. + (std::nearbyint): Likewise. + (std::nextafter): Likewise. + (std::nexttoward): Likewise. + (std::remainder): Likewise. + (std::remquo): Likewise. + (std::rint): Likewise. + (std::round): Likewise. + (std::scalbln): Likewise. + (std::scalbn): Likewise. + (std::tgamma): Likewise. + (std::trunc): Likewise. + * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): + Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. + (std::tr1::asinh): Likewise. + (std::tr1::atanh): Likewise. + (std::tr1::cbrt): Likewise. + (std::tr1::copysign): Likewise. + (std::tr1::erf): Likewise. + (std::tr1::erfc): Likewise. + (std::tr1::exp2): Likewise. + (std::tr1::expm1): Likewise. + (std::tr1::fabs): Likewise. + (std::tr1::fdim): Likewise. + (std::tr1::fma): Likewise. + (std::tr1::fmax): Likewise. + (std::tr1::fmin): Likewise. + (std::tr1::hypot): Likewise. + (std::tr1::ilogb): Likewise. + (std::tr1::lgamma): Likewise. + (std::tr1::llrint): Likewise. + (std::tr1::llround): Likewise. + (std::tr1::log1p): Likewise. + (std::tr1::log2): Likewise. + (std::tr1::logb): Likewise. + (std::tr1::lrint): Likewise. + (std::tr1::lround): Likewise. + (std::tr1::nearbyint): Likewise. + (std::tr1::nextafter): Likewise. + (std::tr1::nexttoward): Likewise. + (std::tr1::remainder): Likewise. + (std::tr1::remquo): Likewise. + (std::tr1::rint): Likewise. + (std::tr1::scalbln): Likewise. + (std::tr1::scalbn): Likewise. + (std::tr1::tgamma): Likewise. + (std::tr1::trunc): Likewise. + (std::tr1::pow): Likewise. + + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*. + +2015-11-21 David Edelsohn + + * testsuite/23_containers/vector/profile/vector.cc: Add maxdata + option on AIX. + +2015-11-20 Jan Kratochvil + + PR libstdc++/68448 + * python/hook.in: Call register_libstdcxx_printers. + * python/libstdcxx/v6/__init__.py: Wrap it to + register_libstdcxx_printers. + +2015-11-17 Jonathan Wakely + + PR libstdc++/66059 + * include/std/utility (_Build_index_tuple): Optimise. + +2015-11-16 Doug Evans + + PR libstdc++/67440 + * python/libstdcxx/v6/printers.py (find_type): Handle "const" in + type name. + * testsuite/libstdc++-prettyprinters/debug.cc: Add test for + const set. + * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. + * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. + +2015-11-15 Jonathan Wakely + + PR libstdc++/68353 + * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR + not whether it is defined. + * include/ext/vstring.h: Likewise. + +2015-11-14 Andreas Tobler + + * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation + from darwin to DragonFly. + * configure: Regenerate. + * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale + support, do it the same as DragonFly. + * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines. + +2015-11-14 Jonathan Wakely + + * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use + real minimum capacity. + * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: + Likewise. + +2015-11-13 David Edelsohn + + * testsuite/experimental/random/randint.cc: Add dg-add-options tls. + +2015-11-13 Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/random: New. + * testsuite/experimental/random/randint.cc: New. + +2015-11-13 John Marino + + * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: + Use portable locale name + * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/length/char/wrapped_locale.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/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.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/wrapped_env.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/codecvt_byname/50714.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/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/collate/compare/char/wrapped_locale.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/compare/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/collate/hash/char/2.cc: Likewise. + * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise. + * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/collate/transform/char/2.cc: Likewise. + * testsuite/22_locale/collate/transform/char/3.cc: Likewise. + * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/collate/transform/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise. + * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise. + * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/is/char/2.cc: Likewise. + * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/facet/2.cc: Likewise. + * testsuite/22_locale/locale/cons/12352.cc: Likewise. + * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. + * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. + * testsuite/22_locale/locale/cons/2.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/7.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/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/members/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/messages/members/char/wrapped_locale.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/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/2.cc: Likewise. + * testsuite/22_locale/money_get/get/char/3.cc: Likewise. + * testsuite/22_locale/money_get/get/char/4.cc: Likewise. + * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/money_get/get/char/wrapped_locale.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/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/2.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/money_put/put/char/1.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/9780-3.cc: Likewise. + * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/1.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/wrapped_env.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/moneypunct/40712.cc: Likewise. + * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise. + * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: + Likewise. + * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise. + * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.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/3.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/9.cc: Likewise. + * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/3.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/9.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise. + * testsuite/22_locale/num_put/put/char/1.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/3.cc: Likewise. + * testsuite/22_locale/num_put/put/char/5.cc: Likewise. + * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise. + * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/1.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/3.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise. + * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.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/wrapped_env.cc: Likewise. + * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise. + * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/12750.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/wrapped_env.cc: Likewise. + * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/12750.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/4.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_time/char/wrapped_locale.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_weekday/char/2.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/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc: + Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc: + Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.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/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/9780-1.cc: Likewise. + * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise. + * testsuite/22_locale/time_put/put/char/wrapped_locale.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/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/wrapped_env.cc: Likewise. + * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.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-2.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/9322.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/14975-2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise. + * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_streambuf/cons/57394.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-2.cc: Likewise. + * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise. + * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise. + * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: + Likewise. + * testsuite/27_io/manipulators/extended/get_time/char/2.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/wchar_t/1.cc: + Likewise. + * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise. + * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: + Likewise. + * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9520.cc: Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check + for named locale as appropriate for target. + * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form + target's preferred form of locale name. + +2015-11-13 Jennifer Yao + Jonathan Wakely + + PR libstdc++/58393 + PR libstdc++/61580 + * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with + -std=c++11 as well as -std=c++98, and define separate macros for each. + Cache the results of checking for complex math and wide character + functions. Reformat for readability. + * config.h.in: Regenerate. + * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to + either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to + language standard in use. + * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. + * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. + * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. + * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, + _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. + * configure: Regenerate. + * include/bits/basic_string.h: Make numeric conversion functions + depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or + _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. + * include/ext/vstring.h: Likewise. + * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): + Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. + * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): + Likewise. + * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_MATH. + * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_WCHAR. + * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDIO. + * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDLIB. + * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_WCHAR. + * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDIO. + * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDLIB. + * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_WCHAR. + * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDIO. + * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDLIB. + * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_WCHAR. + * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDLIB. + * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): + Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. + * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. + * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc + (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. + * 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/26_numerics/headers/cstdlib/13943.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. + * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): + Change preprocessor #if conditional so that it uses + _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and + _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. + * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. + * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. + * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. + * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. + * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace + _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. + * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with + _GLIBCXX_USE_C99_STDIO. + +2015-11-13 Jonathan Wakely + + * include/experimental/bits/shared_ptr.h: Tweak comments. + +2015-11-13 Fan You + Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/bits/shared_ptr.h: New. + * include/experimental/memory: Include new header. + * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New. + * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New. + * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: + New. + * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: + New. + * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New. + * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New. + * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New. + * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New. + * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: + New. + * testsuite/experimental/memory/shared_ptr/observers/operators.cc: + New. + * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: + New. + * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New. + +2015-11-13 Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/memory_resource: Add feature-test macro. + * include/experimental/regex: New. + * include/experimental/deque: Add alias template using PMR. + * include/experimental/forward_list: Likewise. + * include/experimental/list: Likewise. + * include/experimental/map: Likewise. + * include/experimental/set: Likewise. + * include/experimental/string: Likewise. + * include/experimental/unordered_map: Likewise. + * include/experimental/unordered_set: Likewise. + * include/experimental/vector: Likewise. + +2015-11-13 Fan You + + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/bits/uses_allocator.h (__erased_type): Define. + (__uses_allocator_helper): Check for __erased_type. + * include/experimental/memory_resource: New. + * include/experimental/utlity: New. + * testsuite/experimental/type_erased_allocator/1.cc: New. + * testsuite/experimental/type_erased_allocator/1_neg.cc: New. + * testsuite/experimental/type_erased_allocator/2.cc: New. + * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New. + +2015-11-12 Jonathan Wakely + + PR libstdc++/56158 + * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): + Define enumerators to ensure all values of type int are valid values + of the enumeration type. + * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. + * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. + + * include/std/thread: Include for EINTR. + +2015-11-12 Ville Voutilainen + + Implement D0013R2, logical type traits. + + * include/experimental/type_traits (conjunction, disjunction, + negation, conjunction_v, disjunction_v, negation_v): New. + * include/std/type_traits (conjunction, disjunction, negation): + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/experimental/type_traits/value.cc: Likewise. + * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New. + * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise. + * testsuite/20_util/logical_traits/value.cc: Likewise. + +2015-11-12 Jonathan Wakely + + * include/experimental/bits/string_view.tcc: Fix doxygen @file. + +2015-11-11 Jonathan Wakely + + * libsupc++/new_handler.cc: Fix for explicit constructor change. + + PR libstdc++/60421 + * include/std/thread (this_thread::sleep_for): Retry on EINTR. + (this_thread::sleep_until): Retry if time not reached. + * src/c++11/thread.cc (__sleep_for): Retry on EINTR. + * testsuite/30_threads/this_thread/60421.cc: Test interruption and + non-steady clocks. + +2015-11-11 Ville Voutilainen + + LWG 2510, make the default constructors of library tag types + explicit. + * include/bits/mutex.h (defer_lock_t, try_lock_t, + adopt_lock_t): Add an explicit default constructor. + * include/bits/stl_pair.h (piecewise_construct_t): Likewise. + * include/bits/uses_allocator.h (allocator_arg_t): Likewise. + * libsupc++/new (nothrow_t): Likewise. + * testsuite/17_intro/tag_type_explicit_ctor.cc: New. + +2015-11-11 Jonathan Wakely + + PR libstdc++/64651 + * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration + to __exception_ptr namespace. + * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL. + Remove unnecessary test variables. + +2015-11-10 Jonathan Wakely + + PR libstdc++/68190 + * include/bits/stl_multiset.h (multiset::find): Fix return types. + * include/bits/stl_set.h (set::find): Likewise. + * testsuite/23_containers/map/operations/2.cc: Test find return types. + * testsuite/23_containers/multimap/operations/2.cc: Likewise. + * testsuite/23_containers/multiset/operations/2.cc: Likewise. + * testsuite/23_containers/set/operations/2.cc: Likewise. + + * doc/xml/manual/status_cxx2017.xml: Update. + * doc/html/*: Regenerate. + + * include/bits/functional_hash.h: Fix grammar in comment. + +2015-11-09 François Dumont + + * include/bits/stl_algo.h + (partial_sort_copy): Instantiate std::iterator_traits only if concept + checks. + (lower_bound): Likewise. + (upper_bound): Likewise. + (equal_range): Likewise. + (binary_search): Likewise. + * include/bits/stl_heap.h (pop_heap): Likewise. + +2015-11-06 Kai Tietz + + * testsuite/26_numerics/complex/requirements/constexpr.cc + * testsuite/26_numerics/complex/requirements/constexpr_functions.cc: + Use constexpr where needed. + +2015-11-06 David Malcolm + + * testsuite/lib/libstdc++.exp (v3_target_compile): Add + -fno-diagnostics-show-caret -fdiagnostics-color=never to + option's additional_flags. + +2015-11-03 Jason Merrill + + * libsupc++/new: Declare sized deletes. + +2015-11-03 Ville Voutilainen + + Make the default constructors of tuple and pair conditionally explicit. + * include/std/type_traits (is_unsigned, __is_array_unknown_bounds, + __is_default_constructible_atom, __is_default_constructible_safe, + __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast, + __is_nt_default_constructible_impl, is_nothrow_default_constructible, + is_nothrow_constructible, is_nothrow_assignable, + is_trivially_constructible, is_trivially_copy_constructible, + is_trivially_move_constructible, is_trivially_assignable, + is_trivially_copy_assignable, is_trivially_move_assignable, + is_trivially_destructible): Simplify. + * include/std/type_traits ( + __do_is_implicitly_default_constructible_impl, + __is_implicitly_default_constructible_impl, + __is_implicitly_default_constructible_safe, + __is_implicitly_default_constructible): New. + * include/bits/stl_pair.h (pair::pair()): Use it. + * include/std/tuple (tuple<_T1, _T2>::tuple): Use it. + * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New. + * include/std/tuple (tuple<_Types...>::tuple()): Use it. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. + * testsuite/20_util/is_implicitly_default_constructible/ + requirements/explicit_instantiation.cc: New. + * testsuite/20_util/is_implicitly_default_constructible/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/is_implicitly_default_constructible/value.cc: + Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. + * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. + +2015-10-24 Jonathan Wakely + + * include/std/functional (__invoke_impl): New overloads. + (__invoke): Replace with a single function calling __invoke_impl. + (invoke): Add C++17 std::invoke. + (reference_wrapper::operator()): Qualify call to __invoke. + (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs. + (_Mem_fn_base): Remove unused typedefs and implement call operator in + terms of __invoke. + * include/std/future (__future_base::_Async_state_commonV2): Do not + pass reference_wrapper as object argument to call_once. + * include/std/type_traits (result_of): Define nested __invoke_type. + Handle reference_wrapper as per LWG 2219. + * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives. + * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests + using member functions of reference_wrapper. + +2015-10-24 Jonathan Wakely + + * include/std/future (async): Use deferred function on exception. + * testsuite/30_threads/async/except.cc: New. + +2015-10-21 Jonathan Wakely + + * include/std/type_traits (__cpp_lib_bool_constant): Define. + +2015-10-16 Jonathan Wakely + + * doc/xml/manual/configure.xml: Document + --enable-libstdcxx-filesystem-ts option. + * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a. + * doc/xml/manual/using.xml: Likewise. + * doc/html/*: Regenerate. + +2015-10-16 Aurelio Remonda + + * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable + N from const int N = 200000 to const unsigned int N = 10000. + Delete useless fill_ascending function call. + +2015-10-15 Szabolcs Nagy + + * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for + unsupported compiler output. + +2015-10-13 Nathan Froyd + + * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead + of x86intrin.h, and only do so when __SSE3__ + * include/ext/random: Include emmintrin.h instead of x86intrin.h + +2015-10-11 Joseph Myers + + * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* | + *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for + __cxa_thread_atexit_impl. + * configure: Regenerate. + +2015-10-09 Jonathan Wakely + + * include/experimental/erase_if.h: Move to ... + * include/experimental/bits/erase_if.h: New. + * include/experimental/fs_dir.h: Move to ... + * include/experimental/bits/fs_dir.h: New. + * include/experimental/fs_fwd.h: Move to ... + * include/experimental/bits/fs_fwd.h: New. + * include/experimental/fs_ops.h: Move to ... + * include/experimental/bits/fs_ops.h: New. + * include/experimental/fs_path.h: Move to ... + * include/experimental/bits/fs_path.h: New. + * include/experimental/string_view.tcc: Move to ... + * include/experimental/bits/string_view.tcc: New. + * include/Makefile.am: Add include/experimental/bits sub-directory. + * include/Makefile.in: Regenerate. + * include/experimental/filesystem: Adjust includes. + * include/experimental/map: Likewise. + * include/experimental/set: Likewise. + * include/experimental/string_view: Likewise. + * include/experimental/unordered_map: Likewise. + * include/experimental/unordered_set: Likewise. + +2015-10-05 Ville Voutilainen + + PR 67844. + * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject + conversions from tuple types same as the target tuple. + * testsuite/20_util/tuple/67844.cc: New. + * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add + a missing copyright header. + +2015-10-03 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support + for _Manager_alloc. + + * src/c++98/locale.cc: Fix comment. + * src/c++98/locale_init.cc: Likewise. + + * testsuite/21_strings/basic_string/literals/types.cc: Guard use of + wchar_t with _GLIBCXX_USE_WCHAR_T. + * testsuite/21_strings/basic_string/literals/values.cc: Likewise. + * testsuite/21_strings/basic_string/requirements/citerators.cc: + Likewise. + * testsuite/22_locale/messages/13631.cc: Likewise. + * testsuite/experimental/string_view/literals/types.cc: Likewise. + * testsuite/experimental/string_view/literals/values.cc: Likewise. + + * src/filesystem/Makefile.am: Add cxx11_abi_sources. + * src/filesystem/Makefile.in: Regenerate. + * src/filesystem/cow-dir.cc: New. + * src/filesystem/cow-ops.cc: New. + * src/filesystem/cow-path.cc: New. + * src/filesystem/dir.cc: Define macro for new ABI. + * src/filesystem/ops.cc: Likewise. + * src/filesystem/path.cc: Likewise. + +2015-10-02 Jonathan Wakely + + * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: + Minor tweaks to match narrow char version. + + * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard + explicit instantiation with check for new ABI. + * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: + Likewise. Use wchar_t as char_type. + + * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] + (basic_string::front() const, basic_string::back() const): Use + noexcept instead of _GLIBCXX_NOEXCEPT macro. + (__versa_string::front, __versa_string::back): Likewise. + + * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment. + + * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] + (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. + * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] + (path::wstring, path::generic_wstring): Disable. + * src/filesystem/path.cc (path::_S_convert_loc) + [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. + * testsuite/experimental/filesystem/path/assign/assign.cc: Check for + wchar_t support. + * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. + * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. + + * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic + name for paths. Prefer snprintf to sprintf. + + PR libstdc++/67747 + * src/filesystem/dir.cc (native_readdir): Remove. + (_Dir::advance): Use readdir instead of native_readdir. + (recursive_directory_iterator(const path&, directory_options, + error_code*)): Use swap instead of reset. + +2015-10-01 Jonathan Wakely + + * doc/html/manual/errno.html: Add new file. + + * doc/xml/manual/diagnostics.xml: Document use of errno. + * doc/html/*: Regenerate. + * config/locale/generic/c_locale.cc (_Save_errno): New helper. + (__convert_to_v): Use _Save_errno. + * include/ext/string_conversions.h (__stoa): Only restore errno when + it isn't set to non-zero. + +2015-09-30 François Dumont + Jonathan Wakely + + * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs): + Move... + * config/locale/gnu/c++locale_internal.h: ...here in std namespace. + * config/locale/gnu/c_locale.cc: Move implementation of latter here. + * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates. + * src/c++98/Makefile.in: Regenerate. + * config/abi/pre/gnu.ver: Adjust. + +2015-09-30 Matthias Klose + + * config/cpu/alpha, config/cpu/ia64: Remove empty directories. + +2015-09-29 Jonathan Wakely + + * include/ext/string_conversions.h (__stoa): Save and restore errno. + * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: + New. + + PR libstdc++/67583 + * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call + with mismatched arguments. + * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. + + PR libstdc++/65393 + * config/abi/pre/gnu.ver: Export new symbols. + * include/std/thread (thread::_State, thread::_State_impl): New types. + (thread::_M_start_thread): Add overload taking unique_ptr<_State>. + (thread::_M_make_routine): Remove. + (thread::_S_make_state): Add. + (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) + [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. + * src/c++11/thread.cc (execute_native_thread_routine): Rename to + execute_native_thread_routine_compat and re-define to use _State. + (thread::_State::~_State()): Define. + (thread::_M_make_thread): Define new overload. + (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old + overloads conditionally. + +2015-09-28 Jonathan Wakely + + * include/std/condition_variable (condition_variable::wait): Add + noexcept. + * src/c++11/condition_variable.cc (condition_variable::wait): Call + std::terminate on error (DR 2135). + +2015-09-25 Ville Voutilainen + + Avoid creating dangling references in case of nested tuples + for tuple constructors that construct from other tuples. + * include/std/tuple (_TC::_NonNestedTuple): New. + * include/std/tuple (tuple::_TNTC): New. + * include/std/tuple (tuple(const tuple<_UElements...>&), + tuple(tuple<_UElements...>&&): Use _TNTC. + * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. + +2015-09-24 Jonathan Wakely + + PR libstdc++/67707 + * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize + empty object. + * testsuite/23_containers/deque/allocator/move.cc: Check moved-from + deque. + +2015-09-23 Jonathan Wakely + + * src/filesystem/ops.cc (canonical): Simplify error handling and + limit number of symlinks that can be resolved. + +2015-09-23 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_ + prefix from HAVE_STRUCT_DIRENT_D_TYPE. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/experimental/fs_dir.h (operator==, operator==): + Use owner_before instead of pointer equality. + (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. + * src/filesystem/dir.cc (ErrorCode): Remove. + (_Dir::advance): Change ErrorCode parameter to error_code*, add + directory_options parameter and check it on error. + (opendir): Rename to open_dir to avoid clashing with macro. Change + ErrorCode parameter to error_code*. + (make_shared_dir): Remove. + (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. + (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. + (directory_iterator(const path&, directory_options, error_code*)): + Pass options to _Dir::advance and create non-end iterator on error. + (recursive_directory_iterator(const path&, directory_options, + error_code*)): Clear error_code on ignored error, create non-end + iterator otherwise. + (recursive_directory_iterator::increment): Pass _M_options to + _Dir::advance. + (recursive_directory_iterator::pop): Likewise. + * testsuite/experimental/filesystem/iterators/directory_iterator.cc: + New. + * testsuite/experimental/filesystem/iterators/ + recursive_directory_iterator.cc: New. + + * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers. + (create_directories): Fix error handling. + * testsuite/experimental/filesystem/operations/create_directories.cc: + New. + +2015-09-21 Jonathan Wakely + + PR libstdc++/67647 + * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] + (basic_string::shrink_to_fit): Fix #endif placement. + +2015-09-19 Tim Shen + + PR libstdc++/67361 + * include/bits/regex_error.h: Add __throw_regex_error that + supports string. + * include/bits/regex_automaton.h: Add more specific exception + messages. + * include/bits/regex_automaton.tcc: Likewise. + * include/bits/regex_compiler.h: Likewise. + * include/bits/regex_compiler.tcc: Likewise. + * include/bits/regex_scanner.h: Likewise. + * include/bits/regex_scanner.tcc: Likewise. + +2015-09-18 Jonathan Wakely + + * include/precompiled/extc++.h: Fix bootstrap error due to + unconditional inclusion of . + * include/ext/random: Check for definition of UINT32_C. + +2015-09-17 Catherine Moore + + * src/c++11/debug.cc: Include . + +2015-09-17 Gerald Pfeifer + + * src/c++11/random.cc: Include . + +2015-09-17 François Dumont + + * include/debug/formatter.h + (_Error_formatter::_Parameter::_M_print_field): Deprecate. + (_Error_formatter::_Parameter::_M_print_description): Likewise. + (_Error_formatter::_M_format_word): Likewise. + (_Error_formatter::_M_print_word): Likewise. + (_Error_formatter::_M_print_string): Likewise. + (_Error_formatter::_M_get_max_length): Likewise. + (_Error_formatter::_M_max_length): Delete. + (_Error_formatter::_M_indent): Likewise. + (_Error_formatter::_M_column): Likewise. + (_Error_formatter::_M_first_line): Likewise. + (_Error_formatter::_M_wordwrap): Likewise. + * src/c++11/debug.cc: Adapt. + +2015-09-17 Jonathan Wakely + + PR libstdc++/65913 + * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), + __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the + immediate pointer value, not a variable. + * include/std/atomic (atomic::is_lock_free()): Likewise. + * testsuite/29_atomics/atomic/65913.cc: New. + + * testsuite/experimental/filesystem/operations/canonical.cc: Remove + non-deterministic part of the test. + + PR libstdc++/65142 + * src/c++11/random.cc (random_device::_M_getval()): Retry after short + reads. + + * include/std/system_error (error_code::operator bool(), + error_condition::operator bool()): Remove redundant conditional + expression. + + * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): + Do nothing if exceptions are disabled. + * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. + +2015-09-16 Jonathan Wakely + + PR libstdc++/67173 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION + and PATH_MAX for _GLIBCXX_USE_REALPATH. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add + alternative implementation. + * testsuite/experimental/filesystem/operations/canonical.cc: New. + * testsuite/experimental/filesystem/operations/exists.cc: Add more + tests. + * testsuite/experimental/filesystem/operations/absolute.cc: Add test + variables. + * testsuite/experimental/filesystem/operations/copy.cc: Likewise. + * testsuite/experimental/filesystem/operations/current_path.cc: + Likewise. + * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. + * testsuite/experimental/filesystem/operations/status.cc: Likewise. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Likewise. + +2015-09-11 Jonathan Wakely + + PR libstdc++/67173 + * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for + realpath on Solaris 10. + + PR libstdc++/65142 + * src/c++11/random.cc (random_device::_M_getval()): Check read result. + +2015-09-11 John Marino + Jonathan Wakely + + PR libstdc++/67096 + * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points + above U+10FFFF. + * 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/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. + * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.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/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. + +2015-09-11 Jonathan Wakely + + PR libstdc++/64857 + * doc/xml/manual/using.xml: Improve aggregate header documentation. + * doc/html/manual/*: Regenerate. + * include/precompiled/extc++.h: Include for C++11 + and later and include more extension headers. + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove + redundant header. + * testsuite/17_intro/headers/c++200x/: Rename to c++2011. + * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove + redundant headers. + * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New. + * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New. + * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New. + * testsuite/17_intro/headers/c++2014/operator_names.cc: New. + * testsuite/17_intro/headers/c++2014/stdc++.cc: New. + * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: + New. + + PR libstdc++/58265 + * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. + * doc/html/manual/bugs.html: Regenerate. + * include/bits/basic_string.h (basic_string): Implement N4258. Add + correct exception-specifications and propagate allocators correctly. + * include/bits/basic_string.tcc (basic_string::swap): Propagate + allocators correctly. + * include/debug/string (__gnu_debug::basic_string): Add correct + exceptions-specifications and allcoator-extended constructors. + * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. + * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: + New. + * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. + * testsuite/21_strings/basic_string/allocator/char/move.cc: New. + * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: + New. + * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. + * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. + * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. + * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: + New. + * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. + * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. + * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: + New. + * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. + * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. + * testsuite/util/testsuite_allocator.h (tracker_allocator): Define + defaulted assignment operators. + + PR libstdc++/65092 + * include/bits/stl_queue.h (queue, priority_queue): Add + allocator-extended constructors. + * include/bits/stl_stack.h (stack): Likewise. + * testsuite/23_containers/priority_queue/requirements/ + uses_allocator.cc: Test allocator-extended constructors. + * testsuite/23_containers/queue/requirements/uses_allocator.cc: + Likewise. + * testsuite/23_containers/stack/requirements/uses_allocator.cc: + Likewise. + +2015-09-10 Jonathan Wakely + + * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add. + + * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the + string contents. + +2015-09-09 Jonathan Wakely + + * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. + * doc/html/manual/using_macros.html: Regenerate. + * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when + _GLIBCXX_DEBUG is defined. Disable std::string extern templates when + (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on + _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. + * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define + __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. + * include/backward/auto_ptr.h (auto_ptr::operator*, + auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with + __glibcxx_assert. + * include/bits/basic_string.h (basic_string::operator[], + basic_string::front, basic_string::back, basic_string::pop_back): + Likewise. + * include/bits/random.h + (uniform_int_distribution::param_type::param_type, + uniform_real_distribution::param_type::param_type, + normal_distribution::param_type::param_type, + gamma_distribution::param_type::param_type, + bernoulli_distribution::param_type::param_type, + binomial_distribution::param_type::param_type, + geometric_distribution::param_type::param_type, + negative_binomial_distribution::param_type::param_type, + poisson_distribution::param_type::param_type, + exponential_distribution::param_type::param_type): Likewise. + * include/bits/regex.h (match_results::operator[], + match_results::prefix, match_results::suffix): Likewise. + * include/bits/regex.tcc (format, regex_iterator::operator++): + Likewise. + * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. + * include/bits/regex_compiler.tcc (_Compiler::_Compiler, + _Compiler::_M_insert_character_class_matcher): Likewise. + * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. + * include/bits/regex_scanner.tcc (_Scanner::_M_advance, + _Scanner::_M_scan_normal): Likewise. + * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, + __shared_ptr::operator*): Likewise. + * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. + * include/bits/unique_ptr.h (unique_ptr::operator*, + unique_ptr::operator[]): Likewise. + * include/experimental/fs_path.h (path::path(string_type, _Type), + path::iterator::operator++, path::iterator::operator--, + path::iterator::operator*): Likewise. + * include/experimental/string_view (basic_string_view::operator[], + basic_string_view::front, basic_string_view::back, + basic_string_view::remove_prefix): Likewise. + * include/ext/random (beta_distribution::param_type::param_type, + normal_mv_distribution::param_type::param_type, + rice_distribution::param_type::param_type, + pareto_distribution::param_type::param_type, + k_distribution::param_type::param_type, + arcsine_distribution::param_type::param_type, + hoyt_distribution::param_type::param_type, + triangular_distribution::param_type::param_type, + von_mises_distribution::param_type::param_type, + hypergeometric_distribution::param_type::param_type, + logistic_distribution::param_type::param_type): Likewise. + * include/ext/vstring.h (__versa_string::operator[]): Likewise. + * include/std/complex (polar): Likewise. + * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] + (timed_mutex::~timed_mutex, timed_mutex::unlock, + (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): + Likewise. + * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] + (__shared_mutex_pthread::__shared_mutex_pthread, + __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. + (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, + __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, + __shared_mutex_pthread::try_lock_shared): Likewise. + (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, + __shared_mutex_cv::unlock_shared): Likewise. + (shared_timed_mutex::try_lock_until, + shared_timed_mutex::try_lock_shared_until): Likewise. + * include/std/valarray (valarray::valarray(const _Tp*, size_t), + valarray::operator=, valarray::sum, valarray::min, valarray::max, + _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): + Likewise. + +2015-09-07 Jonathan Wakely + + * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change + _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. + * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. + * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on + empty shared_ptr. + + * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready): + Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY. + + * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename + shadowed variable. + + * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on + darwin. + * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin. + +2015-09-04 Jonathan Wakely + + PR libstdc++/65704 + * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock. + + PR libstdc++/65704 + * include/Makefile.am: Add . + * include/Makefile.in: Regenerate. + * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock): + New file containing types moved from . + * include/std/condition_variable: Include instead of + . + * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock): + Move to . + * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove + dg-require-gthreads-timed. + * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.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/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/timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/copy_neg.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/requirements/standard_layout.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/unique_lock/cons/5.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. + +2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net> + Jonathan Wakely + + Add C++11 header . + * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Check for . + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/c/cuchar: New. + * include/c_compatibility/uchar.h: New. + * include/c_global/cuchar: New. + * include/c_std/cuchar: New. + * include/precompiled/stdc++.h: Include . + * testsuite/17_intro/headers/c++200x/stdc++.cc: Include . + * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc: + Include . + +2015-09-04 Jonathan Wakely + + PR libstdc++/65473 + * include/c/cassert: Include . + * include/c/cerrno: Likewise. + * include/c/cfloat: Likewise. + * include/c/ciso646: Likewise. + * include/c/climits: Likewise. + * include/c_global/cassert: Likewise. + * include/c_global/cerrno: Likewise. + * include/c_global/cfloat: Likewise. + * include/c_global/ciso646: Likewise. + * include/c_global/climits: Likewise. + * include/c_std/cassert: Likewise. + * include/c_std/cerrno: Likewise. + * include/c_std/cfloat: Likewise. + * include/c_std/ciso646: Likewise. + * include/c_std/climits: Likewise. + +2015-09-03 Jonathan Wakely + + * include/bits/shared_ptr_base.h: Add required header. + * include/std/condition_variable: Likewise. + * include/std/mutex: Remove unused header. + * include/std/shared_mutex: Remove redundant header. + (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc. + + PR libstdc++/66902 + * src/c++11/debug.cc (_S_debug_messages): Make array const. + + PR libstdc++/66998 + * include/experimental/functional (_Not_fn): Add exception + specifications and non-deduced return types. + (not_fn): Add exception specification and wrap pointer-to-member. + * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context + and test pointer-to-member. + + PR libstdc++/62039 + * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept + checks. + * testsuite/24_iterators/operations/prev_neg.cc: New. + * testsuite/24_iterators/operations/next_neg.cc: New. + +2015-09-03 Sebastian Huber + + * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target + selector to all lines which contain a *-*-cygwin target selector. + * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. + * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. + * testsuite/21_strings/basic_string/pthread33394.cc: Likewise. + * 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/23_containers/vector/debug/multithreaded_swap.cc: Likewise. + * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. + * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. + * testsuite/30_threads/async/42819.cc: Likewise. + * testsuite/30_threads/async/49668.cc: Likewise. + * testsuite/30_threads/async/54297.cc: Likewise. + * testsuite/30_threads/async/any.cc: Likewise. + * testsuite/30_threads/async/async.cc: Likewise. + * testsuite/30_threads/async/launch.cc: Likewise. + * testsuite/30_threads/async/lwg2021.cc: Likewise. + * testsuite/30_threads/async/sync.cc: Likewise. + * testsuite/30_threads/call_once/39909.cc: Likewise. + * testsuite/30_threads/call_once/49668.cc: Likewise. + * testsuite/30_threads/call_once/60497.cc: Likewise. + * testsuite/30_threads/call_once/call_once1.cc: Likewise. + * testsuite/30_threads/condition_variable/54185.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/members/53841.cc: Likewise. + * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. + * testsuite/30_threads/condition_variable_any/53830.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/cons/move.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.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/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/native_handle/typesizes.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/mutex/unlock/2.cc: Likewise. + * testsuite/30_threads/packaged_task/49668.cc: Likewise. + * testsuite/30_threads/packaged_task/60564.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/3.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/56492.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/get_future2.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. + * testsuite/30_threads/packaged_task/members/reset.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/60966.cc: Likewise. + * testsuite/30_threads/promise/cons/1.cc: Likewise. + * testsuite/30_threads/promise/cons/alloc.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/get_future2.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. + * testsuite/30_threads/promise/members/set_value.cc: Likewise. + * testsuite/30_threads/promise/members/set_value2.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/native_handle/typesizes.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_mutex/unlock/2.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/native_handle/typesizes.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/recursive_timed_mutex/unlock/2.cc: Likewise. + * testsuite/30_threads/shared_future/cons/move.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.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_mutex/unlock/1.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/shared_timed_mutex/unlock/1.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/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/49668.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/4.cc: Likewise. + * testsuite/30_threads/thread/members/5.cc: Likewise. + * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. + * testsuite/30_threads/thread/native_handle/cancel.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/native_handle/typesizes.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/timed_mutex/unlock/2.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/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. + +2015-09-02 Dmitry Vyukov + + * include/bits/basic_string.h: Fix data races on _M_refcount. + +2015-09-02 Sebastian Huber + + PR libstdc++/67408 + * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use + _Derived::_M_timedlock(). + (timed_mutex): Add _M_timedlock() and make base class a friend. + (recursive_timed_mutex): Likewise. + +2015-08-28 Tim Shen + + PR libstdc++/67362 + * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): + Always returns ordinary char token if the char isn't + considered a special char. + * testsuite/28_regex/regression.cc: New test file for collecting + regression testcases from, typically, bugzilla. + +2015-08-27 Jonathan Wakely + + PR libstdc++/67374 + * include/bits/range_access.h (valarray, begin, end): Declare. + * testsuite/26_numerics/valarray/range_access.cc: Test const + overloads. + * testsuite/26_numerics/valarray/range_access2.cc: New. + +2015-08-27 John Marino + + * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files + from generic to new DragonFly versions. + * configure: Regenerate. + * config/locale/dragonfly/c_locale.cc: Improve locale support. + * config/locale/dragonfly/ctype_members.cc: Likewise. + * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise. + * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99. + * config/locale/dragonfly/c_locale.h: New. + * config/locale/dragonfly/codecvt_members.cc: New. + * config/locale/dragonfly/collate_members.cc: New. + * config/locale/dragonfly/monetary_members.cc: New. + * config/locale/dragonfly/numeric_members.cc: New. + * config/locale/dragonfly/time_members.cc: New. + * config/locale/dragonfly/time_members.h: New. + +2015-08-27 Jonathan Wakely + + * configure: Regenerate. + +2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net> + Jonathan Wakely + + PR libstdc++/64351 + PR libstdc++/63176 + * include/bits/random.tcc (generate_canonical): Loop until we get a + result less than one. + * testsuite/26_numerics/random/uniform_real_distribution/operators/ + 64351.cc: New. + +2015-08-26 Jonathan Wakely + + * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use + nullptr. + * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign + if ownership is already shared with a shared_ptr object. + (__enable_shared_from_this_helper): Use nullptr. + * testsuite/20_util/enable_shared_from_this/members/const.cc: New. + * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New. + * testsuite/20_util/enable_shared_from_this/requirements/ + explicit_instantiation.cc: Instantiate with const and incomplete types. + + * include/debug/map.h (map::try_emplace, map::insert_or_assign): + Define. + * include/debug/unordered_map (unordered_map::try_emplace, + unordered_map::insert_or_assign): Define. + + PR libstdc++/66902 + * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. + +2015-08-24 François Dumont + + PR libstdc++/60519 + * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): + New enum entry. + * include/debug/functions.h (_Irreflexive_checker): New. + (__is_irreflexive, __is_irreflexive_pred): New. + * include/debug/macros.h + (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New + macros. + (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New + macros limited to post-C++11 mode. + * include/debug/debug.h + (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): + New macros, use latter. + (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): + Likewise. + * include/bits/stl_algo.h + (partial_sort_copy): Add irreflexive debug check. + (partial_sort_copy): Likewise. + (lower_bound): Likewise. + (upper_bound): Likewise. + (equal_range): Likewise. + (binary_search): Likewise. + (inplace_merge): Likewise. + (includes): Likewise. + (next_permutation): Likewise. + (prev_permutation): Likewise. + (is_sorted_until): Likewise. + (minmax_element): Likewise. + (partial_sort): Likewise. + (nth_element): Likewise. + (sort): Likewise. + (merge): Likewise. + (stable_sort): Likewise. + (set_union): Likewise. + (set_intersection): Likewise. + (set_difference): Likewise. + (set_symmetric_difference): Likewise. + (min_element): Likewise. + (max_element): Likewise. + * include/bits/stl_algobase.h + (lower_bound): Likewise. + (lexicographical_compare): Likewise. + * include/bits/stl_heap.h + (push_heap): Likewise. + (pop_heap): Likewise. + (make_heap): Likewise. + (sort_heap): Likewise. + (is_heap_until): Likewise. + * testsuite/25_algorithms/lexicographical_compare/debug/ + irreflexive_neg.cc: New. + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. + * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: + New. + +2015-08-24 Jonathan Wakely + + PR libstdc++/65049 + * include/bits/char_traits.h (char_traits::compare, + char_traits::find, char_traits::move, + char_traits::copy, char_traits::assign): Check for zero + length. + (char_traits::compare, char_traits::find, + char_traits::move, char_traits::copy, + char_traits::assign): Likewise. + (char_traits::move, char_traits::copy): Likewise. + (char_traits::move, char_traits::copy): Likewise. + * include/ext/pod_char_traits.h (char_traits>::move, + char_traits>::copy): Likewise. + * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. + * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: + New. + * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: + New. + * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: + New. + + PR libstdc++/67309 + * include/bits/random.tcc + (poisson_distribution::param_type::_M_initialize): Use max. + (binomial_distribution::param_type::_M_initialize): Likewise. + * testsuite/17_intro/headers/c++200x/67309.cc: New. + * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove + redundant header. + +2015-08-20 Jonathan Wakely + + PR libstdc++/67294 + * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run + on Darwin. + * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. + + * include/experimental/any (__any_caster): Define at namespace scope + so the name is visible to name lookup. + * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. + + * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not + libstdc++fs. + * python/Makefile.in: Regenerate. + +2015-08-19 Paolo Carlini + + * include/c_global/cmath: Fix typo in comment. + +2015-08-19 Paolo Carlini + + * include/c_global/cmath: Revert fix for libstdc++/58625, no + longer necessary (__builtin_signbit is now type-generic). + +2015-08-18 Jonathan Wakely + + PR c++/67216 + * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: + Fix use of safe-bool idiom that isn't valid in C++11. + + * include/bits/ptr_traits.h: Include for addressof. + + PR libstdc++/67066 + * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add + caveats for --enable-concept-checks. Improve link text. + * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking): + Clarify caveats. + * doc/html/*: Regenerate. + * include/bits/stl_deque.h (deque): Only use concept checks in C++03. + * include/bits/stl_stack.h (stack): Likewise. + * include/bits/stl_vector.h (vector): Likewise. + +2015-08-14 Jonathan Wakely + + * include/experimental/any (any::operator=(const any&)): Move check + for self-assignment. + (any::operator=(any&&)): Add check for self-assignment. + (any::operator=(_ValueType&&)): Constrain template argument. + (any::swap(any&)): Add check for self-swap. + * testsuite/experimental/any/assign/self.cc: Test move and swap. + * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error. + +2015-08-14 Jonathan Wakely + + * include/experimental/array: Add feature-test macro. + * testsuite/experimental/array/neg.cc: Update dg-error. + +2015-08-13 Ville Voutilainen + + * testsuite/experimental/array/neg.s: Remove. + * testsuite/experimental/array/neg.ii.gz: Remove. + +2015-08-13 Ville Voutilainen + + Implement std::experimental::fundamentals_v2::make_array and + std::experimental::fundamentals_v2::to_array. + * include/Makefile.am: Add array. + * include/Makefile.in: Add array. + * include/experimental/array: New. + * testsuite/experimental/array/make_array.cc: Likewise. + * testsuite/experimental/array/neg.cc: Likewise. + * doc/html/manual/status.html: Mark make_array as Y. + * doc/xml/manual/status_cxx2017.xml: Likewise. + +2015-08-13 Jonathan Wakely + + * include/bits/alloc_traits.h: Add feature-test macro. + * include/bits/allocator.h: Likewise. + * include/bits/range_access.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/unordered_map.h: Likewise. + +2015-08-13 Jonathan Wakely + + * testsuite/30_threads/mutex/unlock/2.cc: New. + * testsuite/30_threads/recursive_mutex/unlock/2.cc: New. + * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New. + * testsuite/30_threads/shared_mutex/unlock/1.cc: New. + * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New. + * testsuite/30_threads/timed_mutex/unlock/2.cc: New. + +2015-08-13 Eelis van der Weegen + + * include/std/shared_mutex (shared_mutex::unlock()): Fix typo. + +2015-08-12 Caroline Tice + + PR 66521, Contributed by Eric Gallager + * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and + fix the rpath flag to work properly for darwin. + * configure: Regenerated. + +2015-08-12 Jonathan Wakely + + * doc/xml/manual/appendix_contributing.xml: Update patch email policy. + * doc/xml/manual/status_cxx2017.xml: Update status table. + * doc/html/manual/*: Regenerate. + +2015-08-09 Ville Voutilainen + + Implement N4279, Improved insertion interface for unique-key maps. + * include/bits/stl_map.h (try_emplace, insert_or_assign): New. + * include/bits/stl_tree.h (_M_get_insert_unique_pos, + _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos, + _M_get_insert_hint_equal_pos): Make public. + * include/bits/unordered_map.h (try_emplace, insert_or_assign): New. + * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: + Likewise. + * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. + * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: + Likewise. + * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: + Likewise. + +2015-08-08 Ville Voutilainen + + Implement N4089 Safe conversions in unique_ptr (LWG 2118) + and N4366 LWG 2228: Missing SFINAE rule in unique_ptr + templated assignment + * include/bits/unique_ptr.h + (__remove_cv, __is_derived_Tp): Remove. + (default_delete::default_delete(const default_delete<_Up[]>)): + Constrain with array convertibility. + (default_delete::operator(_Up*)): Turn into a template, + constrain with array convertibility. + (__safe_conversion_up): New, single object version. + (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter + convertibility. + (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add + is_assignable as a constraint. + (__safe_conversion_up): Array version, renamed from __safe_conversion, + updated to implement N4089. + (__safe_conversion_raw): New. + (unique_ptr(_Up)): Turn into a template, constrain with array + convertibility. + (unique_ptr(_Up, + typename conditional::value, + deleter_type, const deleter_type&>::type)): Likewise. + (unique_ptr(_Up, typename + remove_reference::type&&)): Likewise. + (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise. + (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add + is_assignable as a constraint (array version). + (reset(_Up)): Turn into a template, constrain with array + convertibility. + (reset(nullptr_t)): New. + * testsuite/20_util/default_delete/48631_neg.cc: Adjust. + * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. + * 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/dr2228.cc: New. + * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust. + +2015-08-05 Nikolai Bozhenov + + * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove + redundant -save-temps option. + * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. + * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. + * testsuite/30_threads/future/cons/constexpr.cc: Likewise. + * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise. + +2015-08-03 Jonathan Wakely + + PR libstdc++/67078 + * include/bits/range_access.h (size, empty, data): Fix _N bad name. + +2015-07-30 Jonathan Wakely + + * testsuite/experimental/filesystem/operations/current_path.cc: Use + canonical paths for comparisons. + +2015-07-30 Tim Shen + + * include/bits/regex_automaton.h (_State_base, _State<>): + Remove _TraitsT dependency from _State<>; Make matcher member + into the union to reduce struct size. + * include/bits/regex_automaton.tcc (_State_base<>::_M_print, + _State_base<>::_M_dot, _StateSeq<>::_M_clone): + Adjust to fit the interface. Factor out common parts in + _M_clone as _State<>::_M_has_alt. + * include/bits/regex_executor.h (_Executer<>::_M_lookahead): + Only pass state id instead of the whole state. + * include/bits/regex_executor.tcc (_Executer<>::_M_dfs, + _Executer<>::_M_lookahead): Adjust to fit the interface. + * include/std/regex: Include + +2015-07-30 Jonathan Wakely + + * include/experimental/any (any::operator=(const any&)): Check for + self-assignment. + * testsuite/experimental/any/assign/self.cc: New. + * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. + +2015-07-29 Jonathan Wakely + + PR libstdc++/66829 + * testsuite/lib/libstdc++.exp (v3-build_support): Compile + testsuite_shared.cc with -std=gnu++98. + +2015-07-29 Ville Voutilainen + + * include/bits/range_access.h: Change class to typename in every + template. + (size, empty, data): New functions from N4280. + * testsuite/24_iterators/container_access.cc: New. + + PR libstdc++/60970 + * include/bits/functional_hash.h (__hash_enum): New. + (hash): Derive from __hash_enum. + * testsuite/20_util/hash/60970.cc: New. + +2015-07-29 Tim Shen + + PR libstdc++/67015 + * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, + _BracketMatcher<>::_M_add_collating_element): Change signature + to make checking the and of bracket expression easier. + * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): + Treat '-' as a valid literal if it's at the end of bracket expression. + * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: + New testcases. + +2015-07-24 Jonathan Wakely + + * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] + (_M_load_and_test_until): Whitespace. + (_M_load_and_test): Value-initialize the unused durations. + (_M_load_when_equal): Add missing return value. + +2015-07-24 Michael Haubenwallner + + * fragment.am (AM_CPPFLAGS): Add CPPFLAGS. + * Makefile.in: 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. + +2015-07-23 DJ Delorie + + * include/bits/functional_hash.h: Add specializations for __intN + types. + + * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds): + Guard against values that might exceed size_t's precision. + +2015-07-20 Jason Merrill + + * include/bits/c++config: Fix abi_tag in special modes. + +2015-07-19 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279. + * doc/html/manual/status.html: Regenerate. + +2015-07-17 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle. + * doc/html/manual/status.html: Regenerate. + +2015-07-16 François Dumont + + * include/bits/stl_algobase.h (__miter_base): Move... + * include/bits/cpp_type_traits.h: ...here. + * include/debug/functions.h (__foreign_iterator_aux): Use latter. + * testsuite/23_containers/vector/debug/insert7_neg.cc: New. + +2015-07-13 Jonathan Wakely + + PR libstdc++/66855 + * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override + endianness bit in mode. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. + + * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define. + * include/bits/forward_list.h (forward_list::swap): Make noexcept + unconditional. + * include/bits/hashtable.h (_Hashtable::swap): Do not use + _S_nothrow_swap(). + * include/bits/stl_bvector.h (vector::swap): Make noexcept + unconditional. + * include/bits/stl_deque.h (deque::swap): Likewise. + (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF. + * include/bits/stl_list.h (list::swap): Make noexcept unconditional. + (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF. + * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use + _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap. + * include/bits/stl_multimap.h (multimap::swap, + swap(multimap&, multimap&)): Likewise. + * include/bits/stl_multiset.h (multiset::swap, + swap(multiset&, multiset&)): Likewise. + * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise. + * include/bits/stl_tree.h (_Rb_tree::swap, + swap(_Rb_tree&, _Rb_tree&)): Likewise. + * include/bits/stl_vector.h (vector::swap): Make noexcept + unconditional. + (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF. + * include/debug/deque (deque::swap, swap): Likewise. + * include/debug/forward_list (swap): Add noexcept. + * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. + * include/debug/map.h (map::swap, swap): Likewise. + * include/debug/multimap.h (multimap::swap, swap): Likewise. + * include/debug/multiset.h (multiset::Swap, swap): Likewise. + * include/debug/set.h (set::swap, swap): Likewise. + * include/debug/unordered_map (unordered_map::swap, + unordered_multimap::swap, swap): Likewise. + * include/debug/unordered_set (unordered_set::swap, + unordered_multiset::swap, swap): Likewise. + * include/debug/vector (vector::swap, swap): Likewise. + * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): + Remove. + * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. + * include/profile/forward_list (swap): Add noexcept. + * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF. + * include/profile/map.h (map::swap, swap): Likewise. + * include/profile/multimap.h (multimap::swap, swap): Likewise. + * include/profile/multiset.h (multiset::swap, swap): Likewise. + * include/profile/set.h (set::swap, swap): Likewise. + * include/profile/unordered_map (swap): Likewise. + * include/profile/unordered_set (swap): Likewise. + * include/profile/vector (vector::swap, swap): Likewise. Remove + overloads for swapping rvalues. + * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests + for noexcept on swap. + * testsuite/23_containers/forward_list/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/list/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/unordered_map/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_set/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line + number. + +2015-07-13 John Marino + + * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK, + _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK, + _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define. + +2015-07-05 François Dumont + + * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not + rehash container. + * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: + Adapt. + +2015-07-03 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update status table. + * doc/html/manual/*: Regenerate. + +2015-07-03 Ville Voutilainen + + Implement std::experimental::fundamentals_v2::propagate_const. + * include/Makefile.am: Add propagate_const. + * include/Makefile.in: Regenerate. + * include/experimental/propagate_const: New. + * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise. + * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. + * testsuite/experimental/propagate_const/assignment/move_neg.cc: + Likewise. + * testsuite/experimental/propagate_const/cons/copy.cc: Likewise. + * testsuite/experimental/propagate_const/cons/default.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. + +2015-07-02 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for + --with-default-libstdcxx-abi + * configure: Regenerate. + * doc/xml/manual/configure.xml: Document valid arguments. + +2015-07-02 Uros Bizjak + + * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load + to avoid unused variable warning. + (__set_and_release): Use __p after __atomic_store to avoid unused + variable warning. + +2015-07-01 Jonathan Wakely + + * include/bits/alloc_traits.h (__alloctr_rebind): Remove. + (__allocator_traits_base): New base class. + (__alloc_rebind): Reimplement in terms of detection idiom. + (allocator_traits): Derive from __allocator_traits_base. Reimplement + nested types in terms of detection idiom. Simplify SFINAE constraints + on overloaded static member functions. + * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead + of __alloctr_rebind. + * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust + dg-error line number. + + * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type, + __ptrtr_rebind, __ptrtr_not_void): Remove + (__get_first_arg, __replace_first_arg, __make_not_void): Define new + transformations. + (__detected_or_): New detection trait. + (pointer_traits): Use new traits. + * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member. + * testsuite/20_util/pointer_traits/requirements/ + explicit_instantiation.cc: Use valid arguments to pointer_traits. + + * doc/xml/manual/status_cxx2017.xml: Update status table. + * include/experimental/type_traits (void_t, is_detected, + is_detected_v, detected_t, detected_or, detected_or_t, + is_detected_exact, is_detected_exact_v, is_detected_convertible, + is_detected_convertible_v): Define. + * include/std/type_traits (__detector, __detected_or, __detected_or_t, + __detected_or_t_): Define. + * testsuite/experimental/type_traits/detection.cc: New. + +2015-06-30 Jonathan Wakely + + * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log. + * doc/Makefile.in: Regenerate. + + * include/bits/stl_pair.h: Replace class keyword with typename. + +2015-06-30 Ville Voutilainen + + Implement N4387, "Improving pair and tuple", and LWG 2367. + + * include/bits/stl_pair.h (_ConstructiblePair, + _ImplicitlyConvertiblePair, _MoveConstructiblePair, + _ImplicitlyMoveConvertiblePair): New. + (pair()): Constrain it. + (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&), + pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&), + pair(pair<_U1, _U2>&&)): Make conditionally explicit. + * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New. + (tuple()): Constrain it. + (tuple(const _UElements&...), tuple(_UElements&&...), + tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&), + tuple(allocator_arg_t, const _Alloc&, const _UElements&...), + tuple(allocator_arg_t, const _Alloc&, _UElements&&...), + tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), + tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&), + tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&), + tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&), + tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make + conditionally explicit. + * include/experimental/functional (__boyer_moore_array_base): Name + array type explicitly instead of using an empty braced-init-list. + * testsuite/20_util/pair/cons/explicit_construct.cc: New. + * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct. + * testsuite/20_util/pair/requirements/dr2367.cc: New. + * testsuite/20_util/tuple/cons/explicit_construct.cc: New. + * testsuite/20_util/tuple/requirements/dr2367.cc: New. + +2015-06-30 Jonathan Wakely + + * configure: Regenerate. + +2015-06-29 François Dumont + + * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition + to pre-C++11 mode. + * include/debug/functions.h + (__gnu_debug::__valid_range, __gnu_debug::__base): Move... + * include/debug/safe_iterator.h + (__gnu_debug::_Sequence_traits): New. + (__gnu_debug::__get_distance_from_begin): New. + (__gnu_debug::__get_distance_to_end): New. + (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range + distance information. Add optional check_dereferenceable parameter, + default true. + (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move + default definition... + (__gnu_debug::__get_distance): New overload for _Safe_iterator. + (__gnu_debug::__unsafe): Likewise. + * include/debug/helper_functions.h: ...here. New. + (__gnu_debug::__unsafe): New helper function to remove safe iterator + layer. + * include/debug/stl_iterator.h: New. Include latter. + * include/bits/stl_iterator.h: Include latter in debug mode. + * include/debug/stl_iterator.tcc: Adapt. + * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add + overload for _Safe_local_iterator. + (__gnu_debug::__unsafe): Likewise. + * include/debug/safe_local_iterator.tcc: Adapt. + * include/debug/macros.h (__glibcxx_check_valid_range2): New. + (__glibcxx_check_insert_range): Add _Dist parameter. + (__glibcxx_check_insert_range_after): Likewise. + (__glibcxx_check_string, __glibcxx_check_string_len): Implement using + _GLIBCXX_DEBUG_PEDASSERT. + * include/debug/deque (deque<>::assign): Remove iterator debug layer + when possible. + (deque<>::insert): Likewise. + * include/debug/forward_list (__glibcxx_check_valid_fl_range): New. + (forward_list<>::splice_after): Use latter. + (forward_list<>::assign): Remove iterator debug layer when possible. + (forward_list<>::insert_after): Likewise. + (__gnu_debug::_Sequence_traits<>): Partial specialization. + * include/debug/list (list<>::assign): Remove iterator debug layer when + possible. + (list<>::insert): Likewise. + [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI. + * include/debug/map.h (map<>::insert): Remove iterator debug layer when + possible. + * include/debug/multimap.h (multimap<>::insert): Likewise. + * include/debug/set.h (set<>::insert): Likewise. + * include/debug/multiset.h (multiset<>::insert): Likewise. + * include/debug/string (basic_string<>::append, basic_string<>::assign, + basic_string<>::insert, basic_string<>::replace): Likewise. + * include/debug/unordered_map + (unordered_map<>::insert, unordered_multimap<>::insert): Likewise. + * include/debug/unordered_set + (unordered_set<>::insert, unordered_multiset<>insert): Likewise. + * include/debug/vector + (vector<>::assign, vector<>::insert): Likewise. + * include/Makefile.am: Add new debug headers. + * include/Makefile.in: Regenerate. + +2015-06-26 Jonathan Wakely + + * doc/xml/manual/intro.xml: Document LWG 2108 status. + * include/bits/alloc_traits.h (allocator_traits::is_always_equal): + Define. + * include/bits/allocator.h (allocator::is_always_equal): Likewise. + * include/bits/forward_list.h + (forward_list::operator=(forward_list&&)): Use __bool_constant. + (forward_list::swap(forward_list&)): Add noexcept. + * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)): + Likewise. + (_Hashtable::swap(_Hashtable&)): Likewise. + * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): + Use _Alloc_traits::is_always_equal. + (deque::operator=(deque&&)): Likewise. + (deque::_M_move_assign1(deque&&, false_type)): Add comment and use + __bool_constant. + (swap(deque&, deque&)): Add noexcept. + * include/bits/stl_list.h (list::operator=(list&&)): Use + __bool_constant. + (swap(list&, list&)): Add noexcept. + * include/bits/stl_map.h (map::swap(map&)): Include _Compare in + noexcept. + (swap(map&, map&)): Add noexcept. + * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include + _Compare in noexcept. + (swap(multimap&, multimap&)): Add noexcept. + * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include + _Compare in noexcept. + (swap(multiset&, multiset&)): Add noexcept. + * include/bits/stl_set.h (set::swap(set&)): Include _Compare in + noexcept. + (swap(set&, set&)): Add noexcept. + * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include + _Compare in noexcept. + (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use + is_always_equal. + * include/bits/stl_vector.h (vector::operator=(vector&&)): Use + __bool_constant. + (swap(vector&, vector&)): Add noexcept. + * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&), + swap(unordered_multimap& unordered_multimap&)): Add noexcept. + * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&), + swap(unordered_multiset& unordered_multiset&)): Add noexcept. + * include/ext/alloc_traits.h (__allocator_always_compares_equal): + Remove. + (__alloc_traits::_S_always_equal()): Use is_always_equal instead of + __allocator_always_compares_equal. + * include/ext/array_allocator.h (array_allocator::is_always_equal): + Define. + * include/std/scoped_allocator (__any_of, __propagate_on_copy, + __propagate_on_move, __propagate_on_swap): Remove. + (scoped_allocator_adaptor::propagate_on_container_copy_assignment, + scoped_allocator_adaptor::propagate_on_container_move_assignment, + scoped_allocator_adaptor::propagate_on_container_swap): Define with + __and_ instead of __any_of. + (scoped_allocator_adaptor::is_always_equal): Define. + * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New. + * testsuite/20_util/scoped_allocator/propagation.cc: Make traits + derive from true_type or false_type. + * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add + is_always_equal member and remove the trait specialization. + * testsuite/23_containers/vector/52591.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: + Likewise. + * 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. + + * include/bits/stl_bvector.h (vector::vector()): Add noexcept. + * include/bits/stl_map.h (map::map()): Likewise. + * include/bits/stl_multimap.h (multimap::multimap()): Likewise. + * include/bits/stl_multiset.h (multiset::multiset()): Likewise. + * include/bits/stl_set.h (set::set()): Likewise. + +2015-06-25 Jonathan Wakely + + * include/bits/locale_conv.h (__do_str_codecvt): Set __count. + +2015-06-24 François Dumont + + * include/bits/basic_string.h (basic_string<>::front()): Add !empty + debug check. + (basic_string<>::back()): Likewise. + (basic_string<>::pop_back()): Likewise. + +2015-06-24 Paolo Carlini + + * 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. + +2015-06-23 François Dumont + + * include/debug/array: Include . Add version namespace when + specializing tuple interface to array. Add specialization for + __is_tuple_like_impl. + * include/profile/array: Likewise. + * include/std/array: Include . Add specialization for + __is_tuple_like_impl. + * include/std/tuple + (__is_tuple_like_impl<>, __is_tuple_like_impl): Move... + * include/std/utility: ... here. Include . + * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust + dg-error line number. + * testsuite/23_containers/array/tuple_interface/ + tuple_element_debug_neg.cc: Likewise. + +2015-06-22 Jonathan Wakely + + * testsuite/26_numerics/complex/value_operations/1.cc: Use + non-negative rho argument. + + * include/debug/list (__gnu_debug::list): Use allocator-aware + _Safe_container base. + * include/debug/string (__gnu_debug::basic_string): Use + allocator-aware _Safe_container base for cxx11 ABI. + + * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range. + (wstring_convert): Move into __cxx11 namespace. + (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception + message. + + PR libstdc++/64657 + * include/bits/stl_uninitialized.h + (__uninitialized_copy::__uninit_copy): Cast expression to void. + +2015-06-17 Jonathan Wakely + + PR libstdc++/55409 + * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits. + (list::list(const list&)): Use allocator propagation trait. Use + _M_assign_dispatch to copy elements. + * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11. + (_List_node::_M_valptr()): Add accessor for stored value. + (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr(). + (_List_base, list): Use allocator traits. + (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove. + (_List_base::_M_move_nodes): New function. + (_List_base(_List_base&&)): Use _M_move_nodes. + (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor. + (list::_M_create_node, list::_M_erase, list::max_size): Use allocator + traits. + (list(size_type)): Add allocator parameter. + (list(const list&)): Use allocator propagation trait. + (list(const list&, const allocator_type&)): New constructor. + (list(list&&, const allocator_type&)): Likewise. + (list::operator=(list&&), list::swap(list&)): Use allocator + propagation traits. + (list::_M_move_assign): New functions. + * include/debug/list: Add allocator-extended constructors. + * include/profile/list: Likewise. + * python/libstdcxx/v6/printers.py (get_value_from_list_node): New + function to get value from _List_node. + (StdListPrinter): Use get_value_from_list_node. + * testsuite/23_containers/list/allocator/copy.cc: New. + * testsuite/23_containers/list/allocator/copy_assign.cc: New. + * testsuite/23_containers/list/allocator/minimal.cc: New. + * testsuite/23_containers/list/allocator/move.cc: New. + * testsuite/23_containers/list/allocator/move_assign.cc: New. + * testsuite/23_containers/list/allocator/noexcept.cc: New. + * testsuite/23_containers/list/allocator/swap.cc: New. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Adjust dg-prune-output line number. + * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Likewise. + + * include/bits/forward_list.h + (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to + rvalue-reference. + (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise. + (forward_list(const _Alloc&)): Split default constructor out to + separate function. + (forward_list(forward_list&&, const _Alloc&)): Move elements if base + class didn't do so. + (forward_list::_M_move_assign(forward_list&&, true_type)): Replace + swap call with two assignments. + * include/bits/forward_list.tcc + (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't + move elements when allocators are not equal. + * include/debug/forward_list (forward_list(const allocator_type&)): + Split default constructor out to separate function. + * include/profile/forward_list (forward_list(const _Alloc&)): + Likewise. + + * include/bits/forward_list.h (forward_list::_M_get_Node_allocator): + Remove unnecessary uses of operator& and static_cast. + * include/bits/forward_list.tcc + (forward_list::operator=(const forward_list&)): Use __addressof + instead of operator&. + (forward_list::remove(const _Tp&), forward_list::remove(_Pred)): + Remove invalid static_casts. + * include/debug/forward_list: Use __addressof instead of operator&. + * testsuite/23_containers/forward_list/modifiers/addressof.cc: New. + + * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use + __is_nothrow_swappable. + +2015-06-16 Jonathan Wakely + + * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. + + * include/bits/list.tcc (list::operator=(const list&), list::merge): + Use __addressof instead of operator&. + (list::sort): Use array-to-pointer decay instead of operator&. + * include/bits/stl_list.h (list::splice): Use __addressof instead of + operator&. + * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter): + Likewise. + * include/debug/functions.h (__check_singular): Likewise. + * include/debug/list (list::splice, list::merge): Likewise. + * testsuite/23_containers/list/modifiers/addressof.cc: New. + + PR libstdc++/65393 + * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr + copies with moves. + +2015-06-12 Jonathan Wakely + + * include/precompiled/stdc++.h: Include and . + + PR libstdc++/66464 + * src/c++11/codecvt.cc (codecvt_utf16_base::do_max_length): + Return 4 not 3. + +2015-06-12 Ramana Radhakrishnan + + PR c++/66192 + PR target/66200 + * config/cpu/alpha/atomic_word.h: Remove. + * config/cpu/ia64/atomic_word.h: Remove. + * config/cpu/powerpc/atomic_word.h: Remove. + * config/os/aix/atomic_word.h: Remove. + * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: + Use generic definition. + +2015-06-12 Ramana Radhakrishnan + + PR target/66200 + PR c++/66192 + * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define + (_GLIBCXX_WRITE_MEM_BARRIER): Likewise + * include/bits/shared_ptr_base.h: Use ACQ_REL barrier. + * include/ext/atomicity.h: Likewise. + * include/tr1/shared_ptr.h: Likewise. + * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics. + Update comment. + (__set_and_release): Likewise. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for + line numbers. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Likewise. + +2015-06-12 Jonathan Wakely + + * include/std/tuple (__is_tuple_like_impl): Disambiguate array in + debug and profile modes. + * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests + for swap in C++11 and later. + +2015-06-09 Jonathan Wakely + + PR libstdc++/66030 + * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols + for mingw32. + +2015-06-08 Jonathan Wakely + + PR libstdc++/66441 + * testsuite/22_locale/conversions/string/66441.cc: New. + * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space + in the output string for BOM and complete result. + + PR libstdc++/66417 + * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order + for single UTF-16 units. + * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. + +2015-06-07 François Dumont + + * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to + outer scope and rename to ... + (std::__hash_is_transparent<>): ... this. + * include/debug/stl_map.h (map::find<>, + map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New + member function templates to perform heterogeneous lookup. + * include/debug/stl_multimap.h (multimap::find<>, + multimap::lower_bound<>, multimap::upper_bound<>, + multimap::equal_range<>): Likewise. + * include/debug/stl_multiset.h (multiset::find<>, + multiset::lower_bound<>, multiset::upper_bound<>, + multiset::equal_range<>): Likewise. + * include/debug/stl_set.h (set::find<>, + set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. + * include/profile/stl_map.h (map::find<>, map::count<>, + map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise. + * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>, + multimap::lower_bound<>, multimap::upper_bound<>, + multimap::equal_range<>): Likewise. + * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>, + multiset::lower_bound<>, multiset::upper_bound<>, + multiset::equal_range<>): Likewise. + * include/profile/stl_set.h (set::find<>, set::count<>, + set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. + * testsuite/23_containers/map/operations/1.cc: Check const variants. + * testsuite/23_containers/multimap/operations/1.cc: Likewise. + * testsuite/23_containers/multiset/operations/1.cc: Likewise. + * testsuite/23_containers/set/operations/1.cc: Likewise. + +2015-06-05 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Update status tables. + * doc/html/manual/*: Regenerate. + * include/std/type_traits (bool_constant): Define. + * testsuite/20_util/bool_constant/requirements.cc: New. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + + * include/std/shared_mutex (__shared_mutex_pthread, + __shared_mutex_cv): New helper types implementing the shared mutex + requirements. + (shared_mutex): New type for C++17. + (shared_timed_mutex): Derive from one of the new helper types. + * testsuite/30_threads/shared_mutex/cons/1.cc: New. + * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. + * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. + * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: + New. + * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. + * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. + +2015-06-05 Ville Voutilainen + + Add __is_nothrow_swappable and take it into use. + * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode. + * include/bits/move.h (swap): Add constraints in C++11 and later. + * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable + for the free swap function for pair. + * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable + for the free swap functions for queue and priority_queue. + * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable + for the free swap function for stack. + * include/debug/array (swap): Use __is_nothrow_swappable + for the free swap function for array. + * include/profile/array (swap): Likewise. + * include/std/array (swap): Likewise. + * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable. + * include/std/type_traits (__is_swappable_impl::__is_swappable, + __is_nothrow_swappable_impl, __is_nothrow_swappable): New. + * testsuite/20_util/is_nothrow_swappable/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: + New. + * testsuite/20_util/is_nothrow_swappable/value.cc: New. + +2015-06-03 François Dumont fdumont@gcc.gnu.org> + + * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode. + +2015-06-02 Jonathan Wakely + + * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. + * doc/html/manual/*: Regenerate. + + * doc/html/ext/lwg-active.html: Update to R93. + * doc/html/ext/lwg-closed.html: Likewise. + * doc/html/ext/lwg-defects.html: Likewise. + * doc/html/manual/*: Regenerate. + * doc/xml/manual/intro.xml: Document status of several DRs. + +2015-06-02 Renlin Li + + * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. + +2015-06-01 Jonathan Wakely + + * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE + environment variable. + +2015-05-31 Jonathan Wakely + + PR libstdc++/66354 + * include/bits/stl_algobase.h (__fill_a): Check length before calling + memset. + +2015-05-30 Jonathan Wakely + + * include/bits/stl_algobase.h (__equal::equal): Check length + instead of checking for null pointers. + (__lexicographical_compare::__lc): Only check shorter length. + +2015-05-29 François Dumont fdumont@gcc.gnu.org> + + * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, + _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... + * include/debug/assertions.h: ...here, new. + * include/debug/formatter.h + (_Error_formatter::_Is_iterator_value_type): New. + (_Error_formatter::_Is_instance): New. + (_Error_formatter::_Parameter): Make public and not friend anymore. + (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. + (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum + entry. + (_Error_formatter::_Parameter::_Type): New. + (_Error_formatter::_Parameter::_Instance): New, inherit from + latter. + (union _Error_formatter::_Parameter::_M_variant): Reorganize. + (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all + overloads take iterator through a const reference. + (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): + New. + (_Parameter(const _Type&, const char*, _Is_instance)): New. + (_Error_formatter::_M_print_type): Delete. + (_Error_formatter::_M_iterator_value_type): New. + (_Error_formatter::_M_instance): New. + * include/Makefile.am: Add new above debug file. + * include/Makefile.in: Regenerate. + * include/debug/functions.h + (__check_dereferenceable(const _Safe_iterator<>&), + __valid_range(const _Safe_iterator<>&), + __is_safe_random_iterator<_Safe_iterator<>>): Move... + * include/debug/safe_iterator.h: ... here. + Replace debug.h include with assertions.h. + (__check_singular_aux): Move... + * include/debug/safe_base.h: ... here. + * include/debug/functions.h + (__check_dereferenceable(const _Safe_local_iterator<>&), + __valid_range(const _Safe_local_iterator<>&): Move... + * include/debug/safe_local_iterator.h: ...here. + * include/debug/safe_sequence.h: Replace debug.h with assertions.h. + Remove _Safe_iterator declaration. + * include/debug/safe_unordered_container.h: Replace debug.h with + assertions.h. + * include/debug/array: Replace safe_sequence.h include with + formatter.h and macros.h. + * include/debug/deque: Include functions.tcc. + * include/debug/forward_list: Likewise. + * include/debug/list: Likewise. + * include/debug/string: Likewise. + * include/debug/vector: Likewise. + * include/bits/unique_ptr.h: Replace debug.h include with new + assertions.h. + * include/bits/stl_iterator_base_funcs.h: Likewise. + * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/array/tuple_interface/ + tuple_element_debug_neg.cc: Likewise. + * src/c++11/debug.cc: Adapt. + +2015-05-29 Jonathan Wakely + + * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute. + * doc/html/manual/*: Regenerate. + + * include/std/future (__async_result_of): New alias template. + (async): Use __async_result_of to pass decayed types to result_of. + * testsuite/30_threads/async/lwg2021.cc: New. + * doc/xml/manual/intro.xml: Document LWG 2021 status. + + PR libstdc++/66327 + * include/bits/stl_algobase.h (__equal::equal): Do not call + memcmp with null pointers. + (__lexicographical_compare::__lc): Do not call memcmp for empty + ranges. + +2015-05-28 Jonathan Wakely + + PR libstdc++/65352 + * include/profile/array (array::data): Use _S_ptr. + * include/debug/array (array::data): Likewise. + + PR libstdc++/65352 + * include/std/array (__array_traits::_S_ptr): New function. + (array::data): Use _S_ptr to avoid creating invalid reference. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust + dg-error line numbers. + * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: + likewise. + +2015-05-27 Jonathan Wakely + + * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr + instead of downcasting. + (_Rb_tree::_M_copy): Change second parameter to _Base_ptr. + (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise. + (_Rb_tree::_S_iter): Remove. + (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove. + (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr + instead of _S_lower_bound_tr + (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload. + (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here + instead of calling _S_lower_bound_tr. + (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload. + (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here + instead of calling _S_upper_bound_tr. + (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload. + (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise. + (_Rb_tree::equal_range): Use _Base_ptr for end pointer. + (_Rb_tree::_M_get_insert_unique_pos): Likewise. + (_Rb_tree::_M_get_insert_equal_pos): Likewise. + (_Rb_tree::_M_insert_equal_lower_node): Likewise. + (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique, + _Rb_tree::_M_emplace_hint_unique): Remove static_cast. + + PR libstdc++/66017 + * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. + (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction + from _Base_ptr. + (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. + (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. + * include/ext/aligned_buffer.h (__aligned_membuf): New type using + alignment of _Tp as a member subobject, not as a complete object. + * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup + _Link_type manually as it might not be in the debug info. + +2015-05-26 Doug Evans + + * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add + operator-> support. + * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for + operator->. + +2015-05-26 Jonathan Wakely + + * include/bits/locale_conv.h: Fix copyright years. + * include/bits/quoted_string.h: Likewise. + * src/filesystem/Makefile.am: Likewise. + * testsuite/22_locale/conversions/buffer/1.cc: Likewise. + * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: + Likewise. + * testsuite/22_locale/conversions/string/1.cc: Likewise. + * testsuite/22_locale/conversions/string/2.cc: Likewise. + * testsuite/22_locale/conversions/string/3.cc: Likewise. + * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: + Likewise. + * testsuite/22_locale/conversions/string/requirements/typedefs.cc: + Likewise. + * testsuite/util/testsuite_fs.h: Likewise. + +2015-05-23 François Dumont fdumont@gcc.gnu.org> + + PR libstdc++/64657 + * include/debug/functions.h (__check_sorted_aux): Cast expression to + void. + +2015-05-21 David Edelsohn + + PR target/66224 + * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): + Don't use isync. Use lwsync if available. + * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use + powerpc cpu definition. + +2015-05-21 Jason Merrill + + * libsupc++/del_opv.cc: Suppress -Wsized-deallocation. + * libsupc++/del_op.cc: Likewise. + +2015-05-20 François Dumont fdumont@gcc.gnu.org> + + * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify + usage of typeid. + (_Error_formatter::_M_print_type): New. + * src/c++11/debug.cc + (_Error_formatter::_Parameter::_M_print_field): Use latter. + (_Error_formatter::_M_print_type): Implement latter using + __cxaabiv1::__cxa_demangle to print demangled type name. + + * include/bits/cpp_type_traits.h + (std::move_iterator): Delete declaration. + (std::__is_move_iterator): Move partial specialization... + * include/bits/stl_iterator.h: ... here. + (std::__miter_base): Overloads for std::reverse_iterator and + std::move_iterator. + * include/bits/stl_algobase.h (std::__miter_base): Provide default + implementation. + +2015-05-20 Jonathan Wakely + + * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam. + + PR libstdc++/66078 + * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add + overload for pointers. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/ + 808590.cc: Add -std=gnu++03 switch. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/ + 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11. + * testsuite/23_containers/vector/modifiers/push_back/ + strong_guarantee.cc: New. + +2015-05-19 Jonathan Wakely + + * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare. + (operator==(const list&, const list&)): If size() is O(1) compare + sizes before comparing each element. + * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define. + (list::resize): Use _M_resize_pos. + +2015-05-19 François Dumont + + * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor + invocations. + * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. + * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. + * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. + +2015-05-17 Ramana Radhakrishnan + + * configure.host: Define cpu_defines_dir for ARM. + * config/cpu/arm/cpu_defines.h: New file. + +2015-05-17 François Dumont + + * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add + missing constructors. + * include/bits/unordered_set.h (unordered_set, unordered_multiset): + Likewise. + * include/debug/unordered_map (unordered_map, unordered_multimap): Add + missing constructors. + * include/debug/unordered_set (unordered_set, unordered_multiset): + Likewise. + * include/profile/unordered_map (unordered_map, unordered_multimap): Add + missing constructors. + * include/profile/unordered_set (unordered_set, unordered_multiset): + Likewise. + +2015-05-15 Jonathan Wakely + + * src/filesystem/ops.cc (stat_type): Define alias for struct stat and + use throughout the file. + (make_file_type): New function. + (file_size(const path&, error_code&)): Report an error for anything + that isn't a regular file. + (status(const path&), symlink_status(const path&)): Do not throw for + file_type::not_found. + (temp_directory_path()): Check additional environment variables. + * testsuite/experimental/filesystem/operations/exists.cc: New. + * testsuite/experimental/filesystem/operations/file_size.cc: New. + * testsuite/experimental/filesystem/operations/status.cc: New. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + New. + +2015-05-14 Nathan Myers + Jonathan Wakely + + PR libstdc++/66055 + * include/std/unordered_map (unordered_map, unordered_multimap): Add + missing constructors. + * include/std/unordered_set (unordered_set, unordered_multiset): + Likewise. + * testsuite/23_containers/unordered_map/cons/66055.cc: New. + * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. + * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. + * testsuite/23_containers/unordered_set/cons/66055.cc: New. + +2015-05-14 Jonathan Wakely + + PR libstdc++/66011 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and + sendfile. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do + not return after copying contents. Use fchmod, fchmodat, and sendfile + when available. + (current_path, permissions, space): Use errno not return value. + + PR libstdc++/66018 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct + dirent.d_type. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove. + +2015-05-13 Eric Botcazou + + * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete. + * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS. + * config.h.in: Regenerate. + * configure: Likewise. + * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by + __USING_SJLJ_EXCEPTIONS__. + * libsupc++/eh_throw.cc: Likewise. + * libsupc++/eh_ptr.cc: Likewise. + * doc/html/manual/appendix_porting.html: Remove + GLIBCXX_ENABLE_SJLJ_EXCEPTIONS + * doc/xml/manual/build_hacking.xml: Likewise. + * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions. + * doc/xml/manual/configure.xml: Likewise. + +2015-05-13 Jonathan Wakely + + * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check + for nullptr (LWG 2415). + * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test + construction from empty unique_ptr. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + + * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()): + Define (LWG 2454). + * testsuite/20_util/raw_storage_iterator/base.cc: New. + + * include/std/future (packaged_task(allocator_arg_t, const A&, F&&): + Remove explicit (LWG 2407). + + * include/bits/basic_string.h (basic_string::basic_string()): Make + noexcept conditional on allocator (LWG 2455). + + * include/std/complex (polar): Check for negative rho (LWG 2459). + + * include/experimental/tuple (apply): Handle pointers to member (LWG + 2418). + * include/std/functional (_Mem_fn_base): Make constructors constexpr. + (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr. + * testsuite/experimental/tuple/apply.cc: Test pointer to member. + + * include/bits/random.h (seed_seq): More noexcept (LWG 2440). + + * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466. + * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust. + * testsuite/23_containers/forward_list/allocator/minimal.cc: + Likewise. + * testsuite/23_containers/map/allocator/minimal.cc: Likewise. + * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise. + * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise. + * testsuite/23_containers/set/allocator/minimal.cc: Likewise. + * testsuite/23_containers/unordered_map/allocator/minimal.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: + Likewise. + * testsuite/23_containers/unordered_set/allocator/minimal.cc: + Likewise. + * testsuite/util/testsuite_allocator.h: Remove unused parameter. + + * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris. + * configure: Regenerate. + +2015-05-13 Michael Haubenwallner + + * Makefile.in: Regenerated with automake-1.11.6. + * aclocal.m4: Likewise. + * configure: Likewise. + * doc/Makefile.in: Likewise. + * include/Makefile.in: Likewise. + * libsupc++/Makefile.in: Likewise. + * po/Makefile.in: Likewise. + * python/Makefile.in: Likewise. + * src/Makefile.in: Likewise. + * src/c++11/Makefile.in: Likewise. + * src/c++98/Makefile.in: Likewise. + * src/filesystem/Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + +2015-05-09 Jason Merrill + + * testsuite/20_util/headers/functional/synopsis.cc: Add + _GLIBCXX14_CONSTEXPR. + * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise. + +2015-05-08 Jason Merrill + + * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98. + * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust expected errors. + * 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/constructor_2_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/ext/array_allocator/1.cc: Add -Wno-deprecated. + * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated. + * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated. + * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated. + * testsuite/ext/array_allocator/check_allocate_max_size.cc: + Add -Wno-deprecated. + * testsuite/ext/array_allocator/check_deallocate_null.cc: + Add -Wno-deprecated. + * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated. + * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated. + * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: + Add -std=c++98. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: + Add -std=c++98. + * testsuite/tr1/2_general_utilities/shared_ptr/assign + /auto_ptr_rvalue_neg.cc: Add -std=c++98. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Add -std=c++98 -fno-show-column. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: + Add -std=c++98. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: + Add -std=c++98. + * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98. + * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98. + + * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. + * src/c++98/Makefile.in: Regenerate. + * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. + * src/Makefile.in: Regenerate. + +2015-05-02 Jonathan Wakely + + PR libstdc++/51617 + * include/std/future (async): Change default policy to launch::async. + + * include/experimental/any (any::_Storage): Fix alignment of buffer. + (any::_Internal): Check alignment of type. + * testsuite/experimental/any/cons/aligned.cc: New. + * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. + + * include/experimental/iterator (ostream_joiner): Simplify by using + the injected-class-name and the ostream_type typedef. + + * include/experimental/iterator: New. Define ostream_joiner. + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * testsuite/experimental/iterator/make_ostream_joiner.cc: New. + * testsuite/experimental/iterator/ostream_joiner.cc: New. + * testsuite/experimental/iterator/requirements.cc: New. + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/manual/status.html: Regenerate. + + * include/experimental/numeric: New. Define gcd and lcm. + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * testsuite/experimental/numeric/gcd.cc: New. + * testsuite/experimental/numeric/lcm.cc: New. + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/manual/status.html: Regenerate. + +2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> + + Revert addition of feature macros from other headers per latest SD-6. + * include/experimental/deque: Remove feature-test macro. + * include/experimental/forward_list: Ditto. + * include/experimental/list: Ditto. + * include/experimental/map: Ditto. + * include/experimental/set: Ditto. + * include/experimental/string: Ditto. + * include/experimental/unordered_map: Ditto. + * include/experimental/unordered_set: Ditto. + +2015-05-02 Jonathan Wakely + + * include/experimental/any (any::_Storage): Make non-copyable. + (any::any): Do not copy _Storage object. + (any::operator=): Implement more efficiently than swapping. + (any::swap): Use new _Op_xfer operation. + (any::_Op::_Op_xfer): New enumerator. + (_Manager_internal::_S_alloc): Remove unused function. + (_Manager_internal::_S_create, _Manager_external::_S_create): Use out + parameter instead of returning a _Storage object. + (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add + _Op_xfer operation for moving and swapping. + * testsuite/experimental/any/cons/nontrivial.cc: New. + * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. + + * include/experimental/fs_path.h (filesystem_error::~filesystem_error): + Declare. + * src/filesystem/path.cc (filesystem_error::~filesystem_error): + Define. + + PR libstdc++/65978 + * include/std/tuple (forward_as_tuple, tie): Add constexpr. + * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment + and fix tests for forward_as_tuple and tie. + + * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]: + Set timespec members explicitly instead of with a braced-init-list. + [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro. + +2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/experimental/deque: Add feature-test macro. + * include/experimental/forward_list: Ditto. + * include/experimental/list: Ditto. + * include/experimental/map: Ditto. + * include/experimental/set: Ditto. + * include/experimental/string: Ditto. + * include/experimental/unordered_map: Ditto. + * include/experimental/unordered_set: Ditto. + +2015-05-01 Jonathan Wakely + + * include/experimental/memory: Correct feature-test macro. + + * include/experimental/memory: Add feature-test macro. + * include/experimental/vector: Likewise. + * doc/xml/manual/status_cxx2017.xml: Update status. + * doc/html/manual/status.html: Regenerate. + +2015-05-01 Ville Voutilainen + + Implement observer_ptr. + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/memory: New. + * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New. + * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New. + * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New. + * testsuite/experimental/memory/observer_ptr/make_observer.cc: New. + * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New. + * testsuite/experimental/memory/observer_ptr/requirements.cc: New. + * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New. + * testsuite/experimental/memory/observer_ptr/typedefs.cc: New. + +2015-05-01 Jonathan Wakely + + * src/filesystem/path.cc (path::compare): Do not copy strings. + + * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when + is not available. + (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat. + * configure: Regenerate. + * config.h.in: Regenerate. + * configure.ac: Check for utime.h + * include/experimental/fs_path.h (path::string<>) + [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword. + * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir, + closedir, dirent, readdir_r): Replace dummy functions with #error. + (native_readdir, _Dir::advance): Use readdir when readdir_r is missing. + * src/filesystem/ops.cc (do_stat, is_set): Make inline. + (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime. + (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod. + (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set + error_code. + + * include/experimental/fs_path.h (path::_List): Use vector instead of + list. + * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt. + * src/filesystem/path.cc: Use std::prev instead of decrementing + rvalues. Fix whitespace. + * testsuite/experimental/filesystem/path/decompose/parent_path.cc: + Do not decrement iterators before begin. + + * include/experimental/fs_dir.h: Fix use of non-reserved names. + * include/experimental/fs_ops.h: Likewise. + * include/experimental/fs_path.h: Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use + C++11 when checking for support. + + * include/bits/locale_classes.h (locale::facet): Delete copy + operations in C++11 mode. + + * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. + + * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris. + * configure: Regenerate. + +2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> + + Inline one-line erasure dispatch functions. + * include/experimental/forward_list (erase_if(), erase()): Inline. + * include/experimental/list (erase_if(), erase()): Inline. + * include/experimental/map (erase_if(*)): Inline. + * include/experimental/set (erase_if(*)): Inline. + * include/experimental/string (erase_if(), erase()): Inline. + * include/experimental/unordered_map (erase_if(*)): Inline. + * include/experimental/unordered_set (erase_if(*)): Inline. + +2015-05-01 Jonathan Wakely + + * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. + * doc/xml/manual/status_cxx2011.xml: Update status tables. + * doc/xml/manual/status_cxx2014.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: New. + * doc/xml/manual/using.xml: Fix typo. + * doc/html/*: Regenerate. + + * include/std/memory (pointer_safety, declare_reachable, + undeclare_reachable, declare_no_pointers, undeclare_no_pointers, + get_pointer_safety): Define. + * testsuite/20_util/pointer_safety/1.cc: New. + +2015-04-30 Jonathan Wakely + + Implement N4100 File System TS + * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. + (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Enable filesystem TS and check its dependencies. + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, + __str_codecvt_out): Move code conversion logic from wstring_convert + into new global functions. + (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new + functions. + (wstring_convert::_M_conv): Remove. + * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. + * include/experimental/filesystem: New. + * include/experimental/fs_dir.h: New. + * include/experimental/fs_fwd.h: New. + * include/experimental/fs_ops.h: New. + * include/experimental/fs_path.h: New. + * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. + * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. + * src/Makefile.am (SUBDIRS): Add filesystem. + * src/Makefile.in: Regenerate. + * src/filesystem/Makefile.am: New. + * src/filesystem/Makefile.in: New. + * src/filesystem/dir.cc: New. + * src/filesystem/ops.cc: New. + * src/filesystem/path.cc: New. + * testsuite/experimental/filesystem/operations/absolute.cc: New. + * testsuite/experimental/filesystem/operations/copy.cc: New. + * testsuite/experimental/filesystem/operations/current_path.cc: New. + * testsuite/experimental/filesystem/path/append/path.cc: New. + * testsuite/experimental/filesystem/path/assign/assign.cc: New. + * testsuite/experimental/filesystem/path/assign/copy.cc: New. + * testsuite/experimental/filesystem/path/compare/compare.cc: New. + * testsuite/experimental/filesystem/path/compare/path.cc: New. + * testsuite/experimental/filesystem/path/compare/strings.cc: New. + * testsuite/experimental/filesystem/path/concat/path.cc: New. + * testsuite/experimental/filesystem/path/concat/strings.cc: New. + * testsuite/experimental/filesystem/path/construct/copy.cc: New. + * testsuite/experimental/filesystem/path/construct/default.cc: New. + * testsuite/experimental/filesystem/path/construct/locale.cc: New. + * testsuite/experimental/filesystem/path/construct/range.cc: New. + * testsuite/experimental/filesystem/path/decompose/extension.cc: New. + * testsuite/experimental/filesystem/path/decompose/filename.cc: New. + * testsuite/experimental/filesystem/path/decompose/parent_path.cc: + New. + * testsuite/experimental/filesystem/path/decompose/relative_path.cc: + New. + * testsuite/experimental/filesystem/path/decompose/root_directory.cc: + New. + * testsuite/experimental/filesystem/path/decompose/root_name.cc: + New. + * testsuite/experimental/filesystem/path/decompose/root_path.cc: + New. + * testsuite/experimental/filesystem/path/decompose/stem.cc: New. + * testsuite/experimental/filesystem/path/generic/generic_string.cc: + New. + * testsuite/experimental/filesystem/path/itr/traversal.cc: New. + * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. + * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: + New. + * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: + New. + * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: + New. + * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: + New. + * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. + * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. + * testsuite/experimental/filesystem/path/query/empty.cc: New. + * testsuite/experimental/filesystem/path/query/has_extension.cc: New. + * testsuite/experimental/filesystem/path/query/has_filename.cc: New. + * testsuite/experimental/filesystem/path/query/has_parent_path.cc: + New. + * testsuite/experimental/filesystem/path/query/has_relative_path.cc: + New. + * testsuite/experimental/filesystem/path/query/has_root_directory.cc: + New. + * testsuite/experimental/filesystem/path/query/has_root_name.cc: + New. + * testsuite/experimental/filesystem/path/query/has_root_path.cc: + New. + * testsuite/experimental/filesystem/path/query/has_stem.cc: New. + * testsuite/experimental/filesystem/path/query/is_relative.cc: New. + * testsuite/util/testsuite_fs.h: New. + +2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> + + Add fundamentals TR container erasure. + * include/Makefile.am: Add new headers. + * include/Makefile.in: Add new headers. + * include/experimental/array: New. + * include/experimental/deque: New. + * include/experimental/erase_if.tcc: New. + * include/experimental/forward_list: New. + * include/experimental/list: New. + * include/experimental/map: New. + * include/experimental/set: New. + * include/experimental/string: New. + * include/experimental/unordered_map: New. + * include/experimental/unordered_set: New. + * include/experimental/vector: New. + * testsuite/experimental/deque/erasure.cc: New. + * testsuite/experimental/forward_list/erasure.cc: New. + * testsuite/experimental/list/erasure.cc: New. + * testsuite/experimental/map/erasure.cc: New. + * testsuite/experimental/set/erasure.cc: New. + * testsuite/experimental/string/erasure.cc: New. + * testsuite/experimental/unordered_map/erasure.cc: New. + * testsuite/experimental/unordered_set/erasure.cc: New. + * testsuite/experimental/vector/erasure.cc: New. + +2015-04-30 François Dumont + + * include/bits/cpp_type_traits.h + (__gnu_cxx::__is_normal_iterator): Delete. + * include/bits/stl_algobase.h (std::__niter_base): Adapt. + * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11. + (std::__niter_base): Overloads for std::reverse_iterator, + __gnu_cxx::__normal_iterator and std::move_iterator. + +2015-04-30 François Dumont + + * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): + Delete. + * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): + Remove usage of latter and compute size of the prime numbers array + locally. + +2015-04-29 Doug Evans + + PR libstdc++/65839 + * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. + Replace all lookups of "bool" with this. + (get_std_size_type): New function. Replace all lookups of std::size_t + with this. + (*Worker): New method get_result_type. + (DequeWorkerBase.__init__): New arg val_type. All callers updated. + (ListWorkerBase.__init__): New arg val_type. All callers updated. + (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. + Delete setting of name, enabled. + (UniquePtrDerefWorker.__init__): New arg elem_type. All callers + updated. Delete setting of name. + (UniquePtrMethodsMatcher): Rewrite for consistency with all other + libstdc++ xmethod matchers. + * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. + * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. + * testsuite/libstdc++-xmethods/deque.cc: Ditto. + * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. + * testsuite/libstdc++-xmethods/list.cc: Ditto. + * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. + * testsuite/libstdc++-xmethods/vector.cc: Ditto. + +2015-04-29 Doug Evans + + Use consistent naming for value type attributes. + * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype + to _val_type. + (ArraySizeWorker, ArrayEmptyWorker): Ditto. + (ArrayFrontWorker, ArrayBackWorker): Ditto. + (ArrayAtWorker, ArraySubscriptWorker): Ditto. + (DequeWorkerBase): Rename elemtype to val_type. + (ForwardListWorkerBase): Rename _elem_type to _val_type. + (ForwardListFrontWorker): Ditto. And rename elem_address to + val_address. + (ForwardListMethodsMatcher): Rename elem_type to val_type. + (VectorWorkerBase): Rename _elemtype to _val_type. + +2015-04-29 Jonathan Wakely + + PR libstdc++/65760 + * include/std/functional (__check_func_return_type): Use is_same to + avoid using _is_convertible on incomplete types. + * testsuite/20_util/function/65760.cc: New. + + PR libstdc++/64657 + * include/bits/basic_string (basic_string::_S_copy_chars): Cast + expression to void. + * include/bits/locale_facets_nonio.tcc (money_get::_M_extract, + time_get::_M_extract_num, time_get::_M_extract_name, + time_get::_M_extract_wday_or_month): Likewise. + * include/bits/stl_algo.h (__includes, __replace_copy_if, + __is_sorted_until, __is_permutation, transform): Likewise. + * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m, + __equal::equal, __lexicographical_compare_impl, equal): Likewise. + * include/bits/stl_numeric.h (inner_product): Likewise. + * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise. + * testsuite/util/testsuite_iterators.h (output_iterator_wrapper, + input_iterator_wrapper): Declare unusable comma operator. + * testsuite/21_strings/basic_string/cons/char/64657.cc: New. + * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc: + New. + +2015-04-28 Doug Evans + + * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): + Define to zero. + +2015-04-28 Jonathan Wakely + + * include/bits/stl_algo.h (random_shuffle): Only define for hosted + implementations. + +2015-04-28 Jonathan Wakely + + * Makefile.am (SUBDIRS): Move python to hosted_source. + * Makefile.in: Regenerate. + * acinclude.m4 (glibcxx_SUBDIRS): Reorder. + * configure: Regenerate. + +2015-04-28 Marc Glisse + + PR libstdc++/65883 + * include/std/limits (numeric_limits): Add missing unsigned. + +2015-04-28 Stephan Bergmann + + * include/debug/vector (_Safe_vector::operator=): Add missing returns. + +2015-04-28 Jonathan Wakely + + PR libstdc++/60333 + * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>): + Handle enumeration types larger than sizeof(long). + (__make_signed_selector<_Tp, false, true>): Find unsigned type then + make it signed. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust + dg-error. + * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. + + PR libstdc++/61645 + * include/bits/forward_list.h (forward_list::splice_after): Add + noexcept. + * include/bits/forward_list.tcc (forward_list::splice_after): + Likewise. + + PR libstdc++/65631 + * include/bits/random.h (seed_seq) Define copy constructor and copy + assignment as deleted. + * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New. + + * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if. + * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: + Use -std=gnu++1z. Check feature-test macro. + + * include/std/type_traits (void_t): Add. + * testsuite/20_util/void_t/1.cc: New. + +2015-04-28 Tim Shen + + * include/bits/regex.tcc: Handle regex_constants::__polynomial. + * include/bits/regex_automaton.tcc: Throw exception when parsing + back-reference with flag __polynomial. + * include/bits/regex_constants.h: Add extension flag + syntax_option_type __polynomial. + * bits/regex_executor.tcc: Still let BFS process ECMAScript. + Alternative operation will be fixed in the coming refactoring. + * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn + loose match_search_debug to use DFS only. + +2015-04-27 Sandra Loosemore + + PR libstdc++/65909 + * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): + Make the generated test program fail gracefully if the target + doesn't support passing command-line arguments. + +2015-04-27 Federico Lenarduzzi + Jonathan Wakely + + * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions): + Return false or zero if the library is built without exceptions. + * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if + the library is built without exceptions. + +2015-04-27 Ville Voutilainen + + * config/abi/pre/gnu.ver: Fix comment. + + Add support for std::uncaught_exceptions. + * acinclude.m4: Bump libtool_VERSION. + * config/abi/pre/gnu.ver: Export the new symbol. + * configure: Regenerate. + * libsupc++/eh_catch.cc (uncaught_exceptions): New. + * libsupc++/exception (uncaught_exceptions): New. + * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New. + * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version. + +2015-04-27 Dmitry Prokoptsev + Michael Hanselmann + + PR libstdc++/62258 + * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of + uncaught exceptions. + * testsuite/18_support/exception_ptr/62258.cc: New. + +2015-04-27 Jonathan Wakely + + * doc/xml/manual/extensions.xml: Add cross-reference. + * doc/html/manual/ext_compile_checks.html: Regenerate. + +2015-04-22 Szabolcs Nagy + + * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. + * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. + +2015-04-22 Renlin Li + + * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. + * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. + * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. + * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. + * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. + +2015-04-21 Jonathan Wakely + + * doc/xml/manual/configure.xml: Update descriptions of options + affecting dual ABI and add cross-references. + * doc/xml/manual/strings.xml: Clarify that string isn't COW now. + * doc/xml/manual/using.xml: Document ABI transition. + * doc/html/*: Regenerate. + + * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library. + * doc/xml/manual/using.xml: Document newer -std options. Use better + examples of nested namespaces. + +2015-04-20 Jonathan Wakely + + * doc/xml/manual/concurrency_extensions.xml: Update documentation + on atomics. + * doc/xml/manual/using.xml: Likewise. Improve markup. + * doc/html/*: Regenerate. + +2015-04-15 Rainer Orth + + * scripts/extract_symvers.pl: Ignore elfdump error output. + +2015-04-14 Marc Glisse + + PR libstdc++/61347 + * include/bits/stl_iterator_base_funcs.h (_List_iterator, + _List_const_iterator): Declare. + (__distance): Declare new overloads for _List_iterator and + _List_const_iterator. + * include/bits/stl_list.h (__distance): New overloads for + _List_iterator and _List_const_iterator. + * testsuite/23_containers/list/61347.cc: New testcase. + +2015-04-14 Jonathan Wakely + + * doc/xml/manual/evolution.xml: Fix typos. + * doc/html/manual/api.html: Regenerate. + +2015-04-14 Hans-Peter Nilsson + + * testsuite/29_atomics/atomic/62259.cc: Assert atomic + alignment is larger-equal, not equal, to default alignment. + +2015-04-13 Jonathan Wakely + + PR libstdc++/65754 + * config/abi/pre/gnu.ver: Export base object constructors for + fstreams. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. + * testsuite/27_io/basic_fstream/cons/base.cc: New. + +2015-04-13 Jonathan Wakely + + * doc/xml/manual/evolution.xml: Document changes since 4.5 release. + * doc/html/*: Regenerate. + +2015-04-12 Uros Bizjak + + * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. + +2015-04-10 Andreas Schwab + + * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. + + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + +2015-04-10 Jonathan Wakely + + * doc/xml/manual/test.xml: Improve documentation on running a subset + of tests. + * doc/html/manual/test.html: Regenerate. + +2015-04-10 Bill Schmidt + + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update + for GCC 5.1 release. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: + Likewise. + +2015-04-10 Jonathan Wakely + + * include/std/shared_mutex (shared_timed_mutex): Add comments to + explain the logic in the non-pthread_rwlock_t version. + (_Mutex): Remove redundant type. + (_M_n_readers): Rename to _S_max_readers. + (_M_write_entered, _M_readers): New convenience functions. + (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience + functions. Use predicates with condition variables. Simplify bitwise + operations. + (try_lock_for, try_shared_lock_for): Convert duration to time_point + and call try_lock_until or try_shared_lock_until respectively. + (try_lock_until, try_shared_lock_until): Wait on the condition + variables until the specified time passes. + (unlock): Add Debug Mode assertion. + (unlock_shared): Add Debug Mode assertion. + * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. + + * include/std/shared_mutex (shared_timed_mutex): Only use + pthread_rwlock_t when the POSIX Timeouts option is supported. + * testsuite/30_threads/shared_lock/cons/5.cc: Remove + dg-require-gthreads-timed. + * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. + * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. + +2015-04-09 H.J. Lu + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. + +2015-04-09 Jonathan Wakely + Richard Henderson + + PR libstdc++/65147 + * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase + alignment. + * include/std/atomic (atomic): For types with a power of two size set + alignment to at least the size. + * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. + * testsuite/29_atomics/atomic/65147.cc: New. + * testsuite/29_atomics/atomic_integral/65147.cc: New. + +2015-04-09 Rainer Orth + + * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. + +2015-04-07 Jakub Jelinek + + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + +2015-03-30 Jonathan Wakely + + PR libstdc++/65630 + * config/abi/pre/gnu.ver: Export operator+ for new strings. + * testsuite/21_strings/basic_string/operators/char/65630.cc: New. + * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. + +2015-03-28 Tim Shen + + PR libstdc++/65420 + * include/bits/regex_constants.h: Use constexpr variables for flags. + * testsuite/28_regex/constants/constexpr.cc: New testcase. + +2015-03-27 Jonathan Wakely + + PR libstdc++/65499 + * include/std/chrono: Add using-directive for literals to std::chrono. + * testsuite/20_util/duration/literals/65499.cc: New. + +2015-03-26 Jonathan Wakely + + PR libstdc++/58038 + PR libstdc++/60421 + * include/std/thread (this_thread::sleep_for): Check for negative + durations. + (this_thread::sleep_until): Check for times in the past. + * testsuite/30_threads/this_thread/58038.cc: New. + * testsuite/30_threads/this_thread/60421.cc: New. + +2015-03-26 Jonathan Wakely + + PR libstdc++/62259 + PR libstdc++/65147 + * include/std/atomic (atomic): Increase alignment for types with + the same size as one of the integral types. + * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. + * testsuite/29_atomics/atomic/62259.cc: New. + +2015-03-26 Richard Henderson + + PR libstdc++/65033 + * include/bits/atomic_base.h (__atomic_base::is_lock_free): Build + a fake pointer indicating type alignment. + (__atomic_base::is_lock_free): Likewise. + * include/std/atomic (atomic::is_lock_free): Likewise. + +2015-03-25 Alan Lawrence + + PR libstdc++/33394 + * testsuite/21_strings/basic_string/pthread33394.cc: Use + dg-additional-options. + +2015-03-25 Paolo Carlini + + PR libstdc++/65543 + * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert + thinko in r150387. + * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): + Likewise. + * testsuite/27_io/rvalue_streams-2.cc: New. + +2015-03-24 Jonathan Wakely + + PR libstdc++/33394 + * testsuite/21_strings/basic_string/pthread33394.cc: Add test. + +2015-03-23 Jonathan Wakely + + PR libstdc++/64967 + * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. + * configure: Regenerate. + * src/c++11/compatibility-c++0x.cc (error_category), generic_category, + system_category): Use macros for versioned namespace. + * src/c++11/futex.cc: Add missing end macro for versioned namespace. + +2015-03-20 James Greenhalgh + + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable + test for unused for ARM. + * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise. + * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. + +2015-03-20 Jonathan Wakely + + * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. + * include/ext/codecvt_specializations.h (encoding_state, + encoding_char_traits): Remove abi-tag and use inline namespace. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. + +2015-03-19 Jason Merrill + + * config/locale/gnu/messages_members.cc: Revert abi-tag change. + * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. + +2015-03-18 Jonathan Wakely + + PR c++/65046 + * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, + get_catalogs): Add abi-tag. + * include/ext/codecvt_specializations.h (encoding_state, + encoding_char_traits): Likewise. + * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. + * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, + numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, + money_get_shim, money_put_shim, messages_shim): Likewise. + * src/c++11/future.cc (future_error_category::message): Likewise. + * src/c++11/system_error.cc (generic_error_category::message, + system_error_category::message): Likewise. + (__sso_string): Disable -Wabi-tag warnings. + +2015-03-18 Jonathan Wakely + + PR libstdc++/13631 + * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback + implementation for old glibc. Fix whitespace. + +2015-03-18 Jonathan Wakely + Torvald Riegel + + * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. + (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. + (shared_timed_mutex::lock_shared()): Retry on EAGAIN. + (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and + EDEADLK. + +2015-03-17 Jonathan Wakely + + * libsupc++/nested_exception.h: Do not try to derive from final + classes. + * testsuite/18_support/nested_exception/throw_with_nested.cc: Test + final class. + + * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of + unused exception variable. + * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. + * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate + test. + * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. + +2015-03-13 Jonathan Wakely + + * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. + * configure: Regenerate. + + * include/experimental/system_error: Fix include guard. + +2015-03-12 Renlin Li + + * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for + wrapped target. + +2015-03-10 Tim Shen + + PR libstdc++/64441 + * include/bits/regex.h (match_results<>::size, + match_results<>::position, match_results<>::str, + match_results<>::operator[], match_results<>::prefix, + match_results<>::suffix, match_results<>::end, + match_results<>::_M_resize, match_results<>::_M_unmatched_sub, + match_results<>::_M_prefix, match_results<>::_M_suffix): Remove + global __unmatched_sub. Add unmatched submatch as part of + match_results. + * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, + regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. + * testsuite/28_regex/match_results/out_of_range_submatches.cc: + New testcases. + +2015-03-09 Jonathan Wakely + + PR libstdc++/64467 + * testsuite/28_regex/traits/char/isctype.cc: Don't test newline + for newlib targets. Really fix mixed line-endings this time. + +2015-03-06 Jonathan Wakely + + * include/std/future (future_error(error_code)): Construct base + class with error_code's message. + * src/c++11/future.cc (future_error::what()): Do not call c_str() on + temporary string. + +2015-03-05 Jonathan Wakely + + * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle + noconv result. + * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. + * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. + +2015-03-04 Jonathan Wakely + + PR libstdc++/64797 + * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle + incomplete multibyte sequences correctly. + * include/std/codecvt (codecvt_utf8, codecvt_utf16, + codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. + * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): + Define constants. + (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): + Define convenience functions. + (read_utf8_code_point): Return relevant constant to distinguish + incomplete characters from invalid sequences. + (read_utf16_code_point): Likewise. Check for invalid sequences. + (ucs4_in, utf16_in): Use incomplete_mb_character constant. + (utf16_out): Check for invalid sequences. + (utf16_span): Fix condition. + (ucs2_out): Use is_high_surrogate. + (ucs2_in): Use incomplete_mb_character constant and fix condition. + * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. + * testsuite/22_locale/conversions/buffer/1.cc: New. + * testsuite/22_locale/conversions/string/2.cc: Use char16_t and + char32_t instead of wchar_t. + * testsuite/22_locale/conversions/string/3.cc: New. + +2015-03-03 Iain Sandoe + + PR libstdc++/64883 + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check + visibility for Darwin. + * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and + also deprecated. + * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. + +2015-03-02 Jonathan Wakely + + PR libstdc++/65279 + * include/std/scoped_allocator (__inner_type_impl, + scoped_allocator_adaptor): Add defaulted copy assignment and move + assignment operators. + * testsuite/20_util/scoped_allocator/65279.cc: New. + +2015-03-02 Jonathan Wakely + + PR libstdc++/64367 + * include/std/stdexcept (__sso_string): Don't use non-static member + in sizeof. + +2015-02-28 Matthias Klose + + PR libstdc++/65246 + * python/libstdcxx/v6/__init__.py: Use explicit relative imports. + +2015-02-22 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. + * doc/html/manual/status.html: Regenerate. + +2015-02-20 Jonathan Wakely + + PR libstdc++/64695 + * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new + tuple layout. + + * doc/xml/manual/status_cxx2011.xml: Document implementation-defined + behavior. + * doc/html/manual/status.html: Regenerate. + +2015-02-19 Jonathan Wakely + + PR libstdc++/58357 + * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. + * include/bits/stl_algo.h (__rotate, rotate): Likewise. + +2015-02-19 Hans-Peter Nilsson + + PR testsuite/65093 + * testsuite/26_numerics/random/binomial_distribution/operators/values.cc + (test01): Add explanatory comment. Keep only the bd1 sub-test and + split out bd2, bd3, bd4, and bd5 sub-tests into... + * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, + testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: + New separate files with the old parts. + +2015-02-18 Jonathan Wakely + + * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output + surrogate pairs. + (utf16_in): Pass mode argument to write_utf16_code_point. + (codecvt::do_in): Set mode according to + native byte order. + * testsuite/22_locale/codecvt/char16_t.cc: New. + * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. + + * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. + * testsuite/22_locale/codecvt/char32_t.cc: Likewise. + +2015-02-17 Rüdiger Sonderfeld + Jonathan Wakely + + * testsuite/22_locale/codecvt/char32_t.cc: New. + +2015-02-17 Jonathan Wakely + + PR libstdc++/65085 + * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure + empty string gets null-terminated. + * testsuite/21_strings/basic_string/cons/char/65085.cc: New. + +2015-02-13 Matthew Wahab + + * testsuite/28_regex/traits/char/isctype.cc (test01): Fix + mixed line-endings introduced in last change. + +2015-02-12 Matthew Wahab + + * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test + for __NEWLIB__ macro with a dejagnu set macro. + * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. + +2015-02-04 Matthew Wahab + + PR libstdc++/64467 + * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib + special case for '\n'. + * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. + +2015-02-01 Jonathan Wakely + + * src/c++11/futex.cc: Do not define for gthr-single.h targets. + +2015-02-01 Jonathan Wakely + + PR libstdc++/64883 + * include/c_global/cstdio (gets): Use __deprecated__ attribute instead + of deprecated. + * include/c_std/cstdio (gets): Likewise. + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing + with attributes used in darwin headers. + +2015-01-29 Jakub Jelinek + + * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of + $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first. + * configure: Regenerated. + +2015-01-29 H.J. Lu + + * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN + after vtv_cygmin is set. + * configure: Regenerated. + +2015-01-29 Matthias Klose + + * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN + unconditionally. + * configure: Regenerate. + +2015-01-29 Caroline Tice + + Committing VTV Cywin/Ming patch for Patrick Wollgast + * configure: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + +2015-01-29 Jonathan Wakely + + * include/bits/atomic_base.h: Use __always_inline__ instead of + always_inline. + * include/bits/atomic_futex.h: Likewise. + * include/bits/c++config: Use __abi_tag__ instead of abi_tag. + * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use + __packed__ instead of packed. + * include/std/shared_mutex: Use __unused__ instead of unused. + * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. + * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. + * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. + +2015-01-28 Caroline Tice + + Committing VTV Cywin/Ming patch for Patrick Wollgast + * acinclude.m4: Define VTV_CYGMIN. + * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES + and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set. + * libsupc++/vtv_stubs.cc: Add none weak declaration of every function + for Cygwin and MinGW. + * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if + VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS, + libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set. + +2015-01-28 Jonathan Wakely + + PR libstdc++/64828 + * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. + * libsupc++/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + +2015-01-28 Kyrylo Tkachov + + * testsuite/lib/libstdc++.exp (v3_target_compile): Remove + check for unsupported. + (v3_target_compile_as_c): Likewise. + +2015-01-28 Richard Biener + + PR libstdc++/64798 + * libsupc++/eh_alloc.cc (struct allocated_entry): Align + data member. + (pool::allocate): Adjust allocation size and alignment to + that change. + (pool::free): Adjust pointer offsetting. + +2015-01-27 Jonathan Wakely + + PR libstdc++/64368 + * include/std/shared_mutex (shared_timed_mutex::try_lock_for, + shared_timed_mutex::try_lock_until): Only define when POSIX thread + timeouts option is supported. + (shared_timed_mutex::try_shared_lock_for, + shared_timed_mutex::try_shared_lock_until): Likewise. + +2015-01-26 Jonathan Wakely + + PR libstdc++/64368 + * config/locale/gnu/numeric_members.cc (numpunct::~numpunct(), + numpunct::~numpunct()): Do not set _M_data->_M_grouping. + * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping + and use cache's _M_grouping field. + (__numpunct_fill_cache): Likewise. + (__moneypunct_fill_cache): Improve comments. + +2015-01-26 Jonathan Wakely + + * testsuite/23_containers/set/operations/2.cc: Add test for + non-transparent comparison function. + +2015-01-25 Oleg Endo + + PR target/29366 + * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): + Remove SH4A inline asm and lock based implementations and use the + defaults from ext/atomicity.h. + +2015-01-23 Jonathan Wakely + + * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match + new std::string constructors for byname facets. + +2015-01-22 Richard Biener + + PR libstdc++/64535 + * libsupc++/eh_alloc.cc: Include new. + (bitmask_type): Remove. + (one_buffer): Likewise. + (emergency_buffer): Likewise. + (emergency_used): Likewise. + (dependents_buffer): Likewise. + (dependents_used): Likewise. + (class pool): New custom fixed-size arena, variable size object + allocator. + (emergency_pool): New global. + (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. + (__cxxabiv1::__cxa_free_exception): Likewise. + (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. + (__cxxabiv1::__cxa_free_dependent_exception): Likewise. + +2015-01-22 Tim Shen + + PR libstdc++/64680 + * include/bits/regex.h (basic_regex<>::basic_regex, + basic_regex<>::operator=, basic_regex<>::imbue): Conform to the + standard interface. + * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. + +2015-01-22 Tim Shen + + PR libstdc++/64649 + * include/bits/regex.tcc (regex_traits<>::lookup_collatename, + regex_traits<>::lookup_classname): Correctly narrow input chars. + * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. + +2015-01-21 Jonathan Wakely + + * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. + +2015-01-21 Jonathan Wakely + + * testsuite/29_atomics/atomic/64658.cc: Test stored value. + +2015-01-20 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags. + * doc/xml/manual/status_cxx2014.xml: Update status. + * doc/html/manual/status.html: Regenerate. + +2015-01-20 Jonathan Wakely + + PR libstdc++/64650 + * include/experimental/optional (bad_optional_access): Add default + constructor. + * testsuite/experimental/optional/requirements.cc: Test for default + constructor. + +2015-01-20 Jonathan Wakely + + * include/bits/stl_map.h (map::find<>, map::count<>, + map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New + member function templates to perform heterogeneous lookup. + * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>, + multimap::lower_bound<>, multimap::upper_bound<>, + multimap::equal_range<>): Likewise. + * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>, + multiset::lower_bound<>, multiset::upper_bound<>, + multiset::equal_range<>): Likewise. + * include/bits/stl_set.h (set::find<>, set::count<>, + set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. + * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr, + _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr, + _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr, + _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise. + * testsuite/23_containers/map/operations/2.cc: New. + * testsuite/23_containers/multimap/operations/2.cc: New. + * testsuite/23_containers/multiset/operations/2.cc: New. + * testsuite/23_containers/set/operations/2.cc: New. + +2015-01-20 Jonathan Wakely + + * config/abi/pre/gnu.ver: Export new constructors. + * include/bits/codecvt.h (codecvt_byname): Add string constructor. + (codecvt_byname, codecvt_byname): Define explicit + specializations and declare explicit instantiations. + * include/bits/locale_classes.h (locale, collate_byname): Add string + constructors. + * include/bits/locale_facets.h (ctype_byname, numpunct_byname): + Likewise. + * include/bits/locale_facets_nonio.h (time_get_byname, + time_put_byname, moneypunct_byname, messages_byname): Likewise. + * src/c++11/codecvt.cc (codecvt_byname, + codecvt_byname): Define explicit instantiations. + * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): + Instantiate string constructors. + (ctype_byname): Define string constructor. + * testsuite/22_locale/codecvt_byname/1.cc: New. + * testsuite/22_locale/collate_byname/1.cc: New. + * testsuite/22_locale/ctype_byname/2.cc: New. + * testsuite/22_locale/messages_byname/1.cc: New. + * testsuite/22_locale/moneypunct_byname/1.cc: New. + * testsuite/22_locale/numpunct_byname/1.cc: New. + +2015-01-20 Jonathan Wakely + + PR libstdc++/64658 + * include/std/atomic (atomic_init): Define. + * testsuite/29_atomics/atomic/64658.cc: New. + +2015-01-19 Tim Shen + + PR libstdc++/64649 + * include/bits/regex.tcc (regex_traits<>::lookup_collatename, + regex_traits<>::lookup_classname): Support forward iterators. + * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. + * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. + +2015-01-19 Tim Shen + + PR libstdc++/64584 + PR libstdc++/64585 + * include/bits/regex.h (basic_regex<>::basic_regex, + basic_regex<>::assign, basic_regex<>::imbue, + basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after + imbuing basic_regex; Make assign() transactional against exception. + * include/bits/regex_compiler.h (__compile_nfa<>): Add back + __compile_nfa SFINAE. + * include/std/regex: Adjust include order to avoid __compile_nfa + forward declaration. + * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. + * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. + +2015-01-19 Ville Voutilainen + Jonathan Wakely + + * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR + on overloads for arrays. + (cbegin, cend, rbegin, rend, crbegin, crend): New. + * testsuite/24_iterators/range_access_cpp14.cc: New. + +2015-01-18 Jonathan Wakely + + PR libstdc++/64646 + * include/bits/stl_algo.h (__is_permutation): Also test for reaching + end of the second range. + * testsuite/25_algorithms/is_permutation/64646.cc: New. + +2015-01-18 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. + * doc/html/manual/status.html: Regenerate. + +2015-01-18 Jonathan Wakely + + * include/bits/atomic_futex.h: Use mutex and condition_variable when + atomic int is not lock-free. Make member variables private. + * src/c++11/futex.cc: Likewise. + + * src/c++11/futex.cc: Fix order of includes and preprocessor condition. + +2015-01-17 Jonathan Wakely + + PR libstdc++/64638 + * include/bits/atomic_futex.h: Use appropriate config macros for + availability of std::mutex, std::condition and std::chrono. + +2015-01-17 Ville Voutilainen + Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Update C++11 status. + * doc/html/*: Regenerate. + +2015-01-17 Jonathan Wakely + + DR 488 + PR libstdc++/58357 + * include/bits/algorithmfwd.h (rotate): Return an iterator. + * include/bits/stl_algo.h (rotate, __rotate): Likewise. + * testsuite/25_algorithms/rotate/dr488.cc: New. + * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. + * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ + 2.cc: Likewise. + * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ + pod.cc: Likewise. + +2015-01-17 Jonathan Wakely + + PR libstdc++/60940 + * include/bits/atomic_base.h: Remove atomic integral typedefs as + synonyms for __atomic_base etc. + * include/std/atomic: Make atomic_int a synonym for atomic and + likewise for all atomic integral types. + * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. + * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. + +2015-01-17 Jonathan Wakely + + PR libstdc++/56785 + * include/std/tuple (_Tuple_impl): Remove zero-element specialization + and define one-element specialization. + * testsuite/20_util/tuple/56785.cc: New. + +2015-01-17 Jonathan Wakely + + * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: + Remove unused header. + * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: + Likewise. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: + Likewise. + +2015-01-16 Jonathan Wakely + + * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. + * include/std/locale: Include new header. + * include/Makefile.am: Add it. + * include/Makefile.in: Regenerate. + * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. + * testsuite/22_locale/conversions/string/1.cc: New. + * testsuite/22_locale/conversions/string/2.cc: New. + * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. + * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: + New. + +2015-01-16 Jonathan Wakely + + * config/abi/pre/gnu.ver: Export new symbols. + * include/Makefile.am: Add codecvt. + * include/Makefile.in: Regenerate. + * include/std/codecvt: New header. + * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, + __codecvt_utf8_utf16_base): Define specializations. + * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. + * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: + New. + +2015-01-16 Torvald Riegel + + * src/c++11/futex.cc: New file. + * include/bits/atomic_futex.h: New file. + * include/std/future (__future_base::_State_baseV2): Use + atomic_futex_unsigned instead of mutex+condvar. + * src/c++11/futex.cc: Likewise. + * include/Makefile.am: Add atomic_futex.h. + * include/Makefile.in: Likewise. + * src/c++11/Makefile.am: Add futex.cc. + * src/c++11/Makefile.in: Likewise. + +2015-01-16 Jonathan Wakely + + * acinclude.m4: Fix typo in comment. + * configure: Regenerate. + * include/bits/codecvt.h (codecvt, + codecvt): Declare specializations. + * include/bits/locale_facets.h: Reserve space for new specializations. + * src/c++11/Makefile.am: Add codecvt.cc. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/codecvt.cc: New. + * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc + with -std=gnu++11. + * src/c++98/Makefile.in: Regenerate. + * src/c++98/locale_init.cc: Initialize new codecvt specializations. + * src/c++98/localename.cc: Likewise. + * config/abi/pre/gnu.ver: Exports for new codecvt specializations. + * testsuite/22_locale/codecvt/utf8.cc: New. + * testsuite/22_locale/locale/cons/unicode.cc: Check that new + specializations are installed in locale objects. + +2015-01-16 Torvald Riegel + + * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based + implementation. + +2015-01-13 Jonathan Wakely + + PR libstdc++/64571 + * config/abi/pre/gnu.ver: Export fstream functions using new string. + +2015-01-12 Jonathan Wakely + + PR libstdc++/64560 + * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check + for RTTI support. + + PR libstdc++/64553 + * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. + +2015-01-10 Thomas Schwinge + + * doc/xml/manual/parallel_mode.xml: Update for libgomp being + renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and + Multi Processing Runtime Library". + +2015-01-09 Jonathan Wakely + + PR libstdc++/64476 + * include/bits/stl_uninitialized.h (uninitialized_copy): Fix + is_assignable arguments. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: + New. + +2015-01-09 Andreas Tobler + + * libsupc++/unwind-cxx.h: Revert previous commit. + +2015-01-09 Andreas Tobler + + * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. + +2015-01-09 Tim Shen + + PR libstdc++/64239 + * include/bits/regex.h (match_results<>::swap): Use std::swap + instead of swap. + * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): + Likewise. + * testsuite/28_regex/match_results/swap.cc: New testcase. + +2015-01-08 Jonathan Wakely + + PR libstdc++/60132 + * include/std/type_traits (has_trivial_default_constructor, + has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated + attribute. + * testsuite/20_util/has_trivial_copy_assign/requirements/ + explicit_instantiation.cc: Use -Wno-deprecated. + * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. + * testsuite/20_util/has_trivial_copy_constructor/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/has_trivial_copy_constructor/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. + * testsuite/20_util/has_trivial_default_constructor/requirements/ + explicit_instantiation.c: Likewise. + * testsuite/20_util/has_trivial_default_constructor/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/has_trivial_default_constructor/value.cc: + Likewise. + * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated + trait. + * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. + * testsuite/util/testsuite_common_types.h: Likewise. + +2015-01-08 Jonathan Wakely + + * include/bits/hashtable_policy.h: Use __bool_constant. + +2015-01-07 Jonathan Wakely + + * libsupc++/Makefile.am: Compile del_ops.cc as C++14. + * libsupc++/Makefile.in: Regenerate. + +2015-01-06 Jonathan Wakely + + * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). + +2015-01-05 Jakub Jelinek + + Update copyright years. + +2015-01-04 Jonathan Wakely + + PR libstdc++/64483 + * testsuite/18_support/exception_ptr/64241.cc: Use + dg-require-atomic-builtins. + +2015-01-02 Jonathan Wakely + + * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright + date. + +2015-01-02 Tim Shen + + PR libstdc++/64475 + * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the + iterator, since the original one shouldn't be mutated. + +2015-01-02 Bernd Edlinger + + PR libstdc++/64422 + * src/c++98/misc-inst.cc (string::erase): Add missing overloads. + (string::insert): Likewise. + (string::replace): Likewise. + (wstring::erase): Likewise. + (wstring::insert): Likewise. + (wstring::replace): Likewise. + * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. + +2015-01-02 Jonathan Wakely + + PR libstdc++/64468 + * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. + +2015-01-02 Jonathan Wakely + + PR libstdc++/64438 + * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: + Revert removal of dg-require-string-conversions. + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/ + stoull.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/ + to_string.cc: Likewise. + +Copyright (C) 2015 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. -- cgit v1.1