2016-06-03 Release Manager * GCC 5.4.0 released. 2016-05-26 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-04-24 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/70762 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use static counter to return a different path on every call. * testsuite/experimental/filesystem/path/native/string.cc: Add dg-require-filesystem-ts directive. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-04-20 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in, __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations. Backport from mainline 2016-04-19 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test that little_endian mode is ignored. * testsuite/experimental/filesystem/path/native/string.cc: New test. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> * include/experimental/bits/fs_dir.h (begin, end): Add noexcept. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test begin and end functions. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/71038 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. * testsuite/experimental/filesystem/operations/copy_file.cc: New test. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): Overload operator* to move from rvalues. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/71036 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. * testsuite/experimental/filesystem/operations/create_directory.cc: New test. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/71037 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add base path to exception. * testsuite/experimental/filesystem/operations/canonical.cc: Test paths contained in exception. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/71005 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): New type. (directory_iterator::operator++(int)): Return proxy. (recursive_directory_iterator::operator++(int)): Likewise. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test post-increment. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-05-09 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/71004 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): Initialize scalar member variables in default constructor. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Test default construction. 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-04-19 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/70609 * src/filesystem/ops.cc (close_fd): New function. (do_copy_file): Set permissions before copying file contents. Check result of closing file descriptors. Don't copy streambuf when file is empty. (copy(const path&, const path&, copy_options, error_code&)): Use lstat for source file when copy_symlinks is set. * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). 2016-05-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-04-19 Jonathan Wakely <jwakely@redhat.com> * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^, operator~ operator&=, operator|=, operator^=): Add noexcept to overloaded operators for copy_options, perms and directory_options. * src/filesystem/ops.cc (make_file_type, make_file_status, is_not_found_errno, file_time): Add noexcept. 2016-04-20 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2016-01-26 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69478 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, random_access_iterator_tag>): Check is_move_assignable when moving. (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): Likewise. * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. * testsuite/25_algorithms/move/69478.cc: New. * testsuite/25_algorithms/move_backward/69478.cc: New. Backport from mainline 2016-04-05 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/70503 * src/c++11/thread.cc (execute_native_thread_routine, execute_native_thread_routine_compat): Give internal linkage. * testsuite/30_threads/thread/70503.cc: New test. Backport from mainline 2016-01-25 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69464 * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/random.h (uniform_int_distribution): Move to bits/uniform_int_dist.h. * include/bits/random.tcc (uniform_int_distribution::operator(), uniform_int_distribution::__generate_impl): Likewise. * include/bits/uniform_int_dist.h: New header. * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include <bits/uniform_int_dist.h> instead of <random>. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ move_iterators/1.cc: Include correct header for uninitialized_copy. * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ move_iterators/1.cc: Likewise. * testsuite/25_algorithms/nth_element/58800.cc: Include correct header for vector. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>. 2016-04-06 Eric Botcazou <ebotcazou@adacore.com> * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. * src/Makefile.in: Regenerate. 2016-02-24 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69939 * include/experimental/tuple (__apply_impl): Qualify get and forward. 2016-02-16 Tim Shen <timshen@google.com> Backport from mainline 2016-02-16 Tim Shen <timshen@google.com> PR libstdc++/69794 * include/bits/regex_scanner.h: Add different special character sets for grep and egrep regex. * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. * testsuite/28_regex/regression.cc: Add new testcase. 2016-02-11 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/60976 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>): Define partial specialization. * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and destroy members to std::allocator explicit specialization. 2016-02-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69116 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only define result_type for types which can be safely used with valarrays. * testsuite/26_numerics/valarray/69116.cc: New. 2016-01-18 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/60637 * include/c_global/cmath (signbit) [__cplusplus < 201103L]: Use __builtin_signbitf or __builtin_signbitl as appropriate. * testsuite/26_numerics/headers/cmath/60637.cc: New. 2016-01-16 H.J. Lu <hongjiu.lu@intel.com> Backport from mainline * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add __int128 symbols. 2016-01-12 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/69092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): Remove _GLIBCXX_NOEXCEPT. testsuite/21_strings/basic_string/cons/char/69092.cc: New. PR libstdc++/68995 * include/std/functional (_Function_handler::_M_invoke): Qualify __callable_functor. * testsuite/20_util/function/68995.cc: New. PR libstdc++/69005 PR libstdc++/69222 * include/std/functional (function::_Invoke): Remove, use result_of. (function::_Callable): Replace alias template with class template and use partial specialization instead of _NotSelf alias template. (function(_Functor)): Add "not self" constraint so that _Callable is not used while type is incomplete. * testsuite/20_util/function/69222.cc: New. 2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> * include/bits/c++0x_warning.h Remove experimental language. 2015-12-16 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/68912 * include/std/functional (_Bind::operator()): Use lvalue functor to deduce return type. * testsuite/20_util/bind/68912.cc: New. PR libstdc++/68921 * src/c++11/futex.cc (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer as timeout argument. 2015-12-15 Tim Shen <timshen@google.com> Backport from mainline 2015-12-15 Tim Shen <timshen@google.com> PR libstdc++/68863 * include/bits/regex_executor.tcc (_Executor::_M_lookahead): Copy the captured content for lookahead, so that the backreferences inside can refer to them. * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: New testcase. 2015-12-11 Jonathan Wakely <jwakely@redhat.com> * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. * include/backward/strstream: Correct @file comment. * include/bits/forward_list.h: Improve Doxygen comments. * include/bits/locale_facets_nonio.h: Likewise. * include/debug/vector (_Safe_vector): Add @brief section to comment. * include/experimental/fs_fwd.h: Correct @file comment. * include/experimental/fs_ops.h: Likewise. * include/experimental/string_view.tcc: Likewise. * include/experimental/optional: Document experimental status. * include/experimental/string_view: Correct @file comment. * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce whitespace to avoid Doxygen bug. * include/std/bitset: Remove redundant @class Doxygen command. Add parentheses to avoid Doxygen bug. * include/std/mutex: Improve Doxygen comments. * include/tr2/dynamic_bitset: Add missing @param documentation. * scripts/run_doxygen: Rename man pages for std::experimental types. 2015-12-08 Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/abi.xml: Backport documentation improvements from mainline. * doc/xml/manual/configure.xml: Likewise. * doc/xml/manual/diagnostics.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/html/*: Regenerate. 2015-12-04 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/56383 * testsuite/20_util/enable_shared_from_this/56383.cc: New. * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make friend declaration match previous declaration of __enable_shared_from_this_helper. * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. 2015-12-04 Jonathan Wakely <jwakely@redhat.com> * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition after __is_encoded_char explicit specializations. 2015-12-04 Jason Merrill <jason@redhat.com> * include/bits/c++config: Fix abi_tag in special modes. 2015-12-04 Release Manager * GCC 5.3.0 released. 2015-11-26 Jonathan Wakely <jwakely@redhat.com> * 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 <dje.gcc@gmail.com> * configure: Regenerate. 2015-11-25 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2015-11-12 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/56158 * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): Define enumerators to ensure all values of type int are valid values of the enumeration type. * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. Backport from mainline 2015-09-17 Jonathan Wakely <jwakely@redhat.com> * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): Do nothing if exceptions are disabled. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. 2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. * configure.ac: Use it. * configure: Regenerate. * config.h.in: Regenerate. * include/c_global/cmath [__cplusplus >= 201103L] (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. (std::isfinite): Likewise. (std::isinf): Likewise. (std::isnan): Likewise. (std::isnormal): Likewise. (std::signbit): Likewise. (std::isgreater): Likewise. (std::isgreaterequal): Likewise. (std::isless): Likewise. (std::islessequal): Likewise. (std::islessgreater): Likewise. (std::isunordered): Likewise. (std::acosh): Likewise. (std::asinh): Likewise. (std::atanh): Likewise. (std::cbrt): Likewise. (std::copysign): Likewise. (std::erf): Likewise. (std::erfc): Likewise. (std::exp2): Likewise. (std::expm1): Likewise. (std::fdim): Likewise. (std::fma): Likewise. (std::fmax): Likewise. (std::fmin): Likewise. (std::hypot): Likewise. (std::ilogb): Likewise. (std::lgamma): Likewise. (std::llrint): Likewise. (std::llround): Likewise. (std::log1p): Likewise. (std::log2): Likewise. (std::logb): Likewise. (std::lrint): Likewise. (std::lround): Likewise. (std::nearbyint): Likewise. (std::nextafter): Likewise. (std::nexttoward): Likewise. (std::remainder): Likewise. (std::remquo): Likewise. (std::rint): Likewise. (std::round): Likewise. (std::scalbln): Likewise. (std::scalbn): Likewise. (std::tgamma): Likewise. (std::trunc): Likewise. * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. (std::tr1::asinh): Likewise. (std::tr1::atanh): Likewise. (std::tr1::cbrt): Likewise. (std::tr1::copysign): Likewise. (std::tr1::erf): Likewise. (std::tr1::erfc): Likewise. (std::tr1::exp2): Likewise. (std::tr1::expm1): Likewise. (std::tr1::fabs): Likewise. (std::tr1::fdim): Likewise. (std::tr1::fma): Likewise. (std::tr1::fmax): Likewise. (std::tr1::fmin): Likewise. (std::tr1::hypot): Likewise. (std::tr1::ilogb): Likewise. (std::tr1::lgamma): Likewise. (std::tr1::llrint): Likewise. (std::tr1::llround): Likewise. (std::tr1::log1p): Likewise. (std::tr1::log2): Likewise. (std::tr1::logb): Likewise. (std::tr1::lrint): Likewise. (std::tr1::lround): Likewise. (std::tr1::nearbyint): Likewise. (std::tr1::nextafter): Likewise. (std::tr1::nexttoward): Likewise. (std::tr1::remainder): Likewise. (std::tr1::remquo): Likewise. (std::tr1::rint): Likewise. (std::tr1::scalbln): Likewise. (std::tr1::scalbn): Likewise. (std::tr1::tgamma): Likewise. (std::tr1::trunc): Likewise. (std::tr1::pow): Likewise. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Restrict dg-xfail-if to *-*-solaris2.1[01]*. 2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com> PR libstdc++/68448 * python/hook.in: Call register_libstdcxx_printers. * python/libstdcxx/v6/__init__.py: Wrap it to register_libstdcxx_printers. 2015-11-16 Doug Evans <dje@google.com> 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<int>. * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. 2015-11-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/68190 * include/bits/stl_multiset.h (multiset::find): Fix return types. * include/bits/stl_set.h (set::find): Likewise. * testsuite/23_containers/map/operations/2.cc: Test find return types. * testsuite/23_containers/multimap/operations/2.cc: Likewise. * testsuite/23_containers/multiset/operations/2.cc: Likewise. * testsuite/23_containers/set/operations/2.cc: Likewise. 2015-10-08 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2015-09-17 Jonathan Wakely <jwakely@redhat.com> 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<T>::is_lock_free()): Likewise. * testsuite/29_atomics/atomic/65913.cc: New. 2015-10-07 Jonathan Wakely <jwakely@redhat.com> Backport Filesystem TS fixes from mainline. PR libstdc++/67173 PR libstdc++/67747 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION and PATH_MAX for _GLIBCXX_USE_REALPATH. Remove _GLIBCXX_ prefix from HAVE_STRUCT_DIRENT_D_TYPE. * config.h.in: Regenerate. * configure: Regenerate. * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. * include/experimental/fs_dir.h (operator==, operator==): Use owner_before instead of pointer equality. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. * include/experimental/fs_path.h (operator==, operator==): * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] (path::wstring, path::generic_wstring): Disable. * src/filesystem/path.cc (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * src/filesystem/Makefile.am: Add cxx11_abi_sources. * src/filesystem/Makefile.in: Regenerate. * src/filesystem/cow-dir.cc: New. * src/filesystem/cow-ops.cc: New. * src/filesystem/cow-path.cc: New. * src/filesystem/dir.cc: Define macro for new ABI. (native_readdir): Remove. (_Dir::advance): Use readdir instead of native_readdir. (recursive_directory_iterator(const path&, directory_options, error_code*)): Use swap instead of reset. (ErrorCode): Remove. (_Dir::advance): Change ErrorCode parameter to error_code*, add directory_options parameter and check it on error. (opendir): Rename to open_dir to avoid clashing with macro. Change ErrorCode parameter to error_code*. (make_shared_dir): Remove. (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. (directory_iterator(const path&, directory_options, error_code*)): Pass options to _Dir::advance and create non-end iterator on error. (recursive_directory_iterator(const path&, directory_options, error_code*)): Clear error_code on ignored error, create non-end iterator otherwise. (recursive_directory_iterator::increment): Pass _M_options to _Dir::advance. (recursive_directory_iterator::pop): Likewise. * src/filesystem/ops.cc: Define macro for new ABI. (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. (is_dot, is_dotdot): Define new helpers. (create_directories): Fix error handling. * src/filesystem/path.cc: Define macro for new ABI. (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: New. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: New. * testsuite/experimental/filesystem/operations/canonical.cc: New. * testsuite/experimental/filesystem/operations/create_directories.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Add more tests. * testsuite/experimental/filesystem/operations/absolute.cc: Add test variables. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. * testsuite/experimental/filesystem/path/assign/assign.cc: Check for wchar_t support. * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. 2015-10-02 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65049 * include/bits/char_traits.h (char_traits<char>::compare, char_traits<char>::find, char_traits<char>::move, char_traits<char>::copy, char_traits<char>::assign): Check for zero length. (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, char_traits<wchar_t>::move, char_traits<wchar_t>::copy, char_traits<wchar_t>::assign): Likewise. (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. * include/ext/pod_char_traits.h (char_traits<character<>>::move, char_traits<character<>>::copy): Likewise. * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: New. PR libstdc++/67707 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize empty object. * testsuite/23_containers/deque/allocator/move.cc: Check moved-from deque. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Check read result and retry after short reads. 2015-09-03 Jonathan Wakely <jwakely@redhat.com> * include/std/shared_mutex (shared_timed_mutex::shared_timed_mutex): Replace throw with __throw_bad_alloc. PR libstdc++/66998 * include/experimental/functional (_Not_fn): Add exception specifications and non-deduced return types. (not_fn): Add exception specification and wrap pointer-to-member. * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context and test pointer-to-member. Backport from mainline 2015-08-27 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/67374 * include/bits/range_access.h (valarray, begin, end): Declare. * testsuite/26_numerics/valarray/range_access.cc: Test const overloads. * testsuite/26_numerics/valarray/range_access2.cc: New. Backport from mainline 2015-07-24 Jonathan Wakely <jwakely@redhat.com> * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] (_M_load_and_test_until): Whitespace. (_M_load_and_test): Value-initialize the unused durations. (_M_load_when_equal): Add missing return value. Backport from mainline 2015-07-13 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/66855 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. Backport from mainline 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com> Michael Hanselmann <public@hansmi.ch> PR libstdc++/62258 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of uncaught exceptions. * testsuite/18_support/exception_ptr/62258.cc: New. 2015-08-28 Tim Shen <timshen@google.com> Backport from mainline 2015-08-28 Tim Shen <timshen@google.com> PR libstdc++/67362 * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): Always returns ordinary char token if the char isn't considered a special char. * testsuite/28_regex/regression.cc: New test file for collecting regression testcases from, typically, bugzilla. 2015-08-20 Jonathan Wakely <jwakely@redhat.com> * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs. * python/Makefile.in: Regenerate. 2015-08-18 Jonathan Wakely <jwakely@redhat.com> Backport Filesystem TS from mainline * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS, GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. * configure.ac: Use them. * configure: Regenerate. * config.h.in: Regenerate. * include/Makefile.am: Add filesystem headers. Fix order of headers. * include/Makefile.in: Regenerate. * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out, wstring_convert): Refactor to move all conversion logic to non-member functions. * include/bits/quoted_string.h (_Quoted_string, operator<<, operator>>): Move from <iomanip> to new header. * include/experimental/filesystem: New. * include/experimental/fs_dir.h: New. * include/experimental/fs_fwd.h: New. * include/experimental/fs_ops.h: New. * include/experimental/fs_path.h: New. * include/std/iomanip (_Quoted_string, operator<<, operator>>): Move to <bits/quoted_string.h>. * libstdcxx/v6/printers.py (StdExpPathPrinter): Define. * scripts/testsuite_flags.in: Add filesystem dir to ldflags. * src/Makefile.am: Add filesystem sub-dir. * src/Makefile.in: Regenerate. * src/filesystem/Makefile.am: New. * src/filesystem/Makefile.in: New. * src/filesystem/dir.cc: New. * src/filesystem/ops.cc: New. * src/filesystem/path.cc: New. * testsuite/experimental/filesystem/operations/absolute.cc: New. * testsuite/experimental/filesystem/operations/copy.cc: New. * testsuite/experimental/filesystem/operations/current_path.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: New. * testsuite/experimental/filesystem/operations/file_size.cc: New. * testsuite/experimental/filesystem/operations/status.cc: New. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: New. * testsuite/experimental/filesystem/path/append/path.cc: New. * testsuite/experimental/filesystem/path/assign/assign.cc: New. * testsuite/experimental/filesystem/path/assign/copy.cc: New. * testsuite/experimental/filesystem/path/compare/compare.cc: New. * testsuite/experimental/filesystem/path/compare/path.cc: New. * testsuite/experimental/filesystem/path/compare/strings.cc: New. * testsuite/experimental/filesystem/path/concat/path.cc: New. * testsuite/experimental/filesystem/path/concat/strings.cc: New. * testsuite/experimental/filesystem/path/construct/copy.cc: New. * testsuite/experimental/filesystem/path/construct/default.cc: New. * testsuite/experimental/filesystem/path/construct/locale.cc: New. * testsuite/experimental/filesystem/path/construct/range.cc: New. * testsuite/experimental/filesystem/path/decompose/extension.cc: New. * testsuite/experimental/filesystem/path/decompose/filename.cc: New. * testsuite/experimental/filesystem/path/decompose/parent_path.cc: New. * testsuite/experimental/filesystem/path/decompose/relative_path.cc: New. * testsuite/experimental/filesystem/path/decompose/root_directory.cc: New. * testsuite/experimental/filesystem/path/decompose/root_name.cc: New. * testsuite/experimental/filesystem/path/decompose/root_path.cc: New. * testsuite/experimental/filesystem/path/decompose/stem.cc: New. * testsuite/experimental/filesystem/path/generic/generic_string.cc: New. * testsuite/experimental/filesystem/path/itr/traversal.cc: New. * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: New. * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/ replace_extension.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. * testsuite/experimental/filesystem/path/query/empty.cc: New. * testsuite/experimental/filesystem/path/query/has_extension.cc: New. * testsuite/experimental/filesystem/path/query/has_filename.cc: New. * testsuite/experimental/filesystem/path/query/has_parent_path.cc: New. * testsuite/experimental/filesystem/path/query/has_relative_path.cc: New. * testsuite/experimental/filesystem/path/query/has_root_directory.cc: New. * testsuite/experimental/filesystem/path/query/has_root_name.cc: New. * testsuite/experimental/filesystem/path/query/has_root_path.cc: New. * testsuite/experimental/filesystem/path/query/has_stem.cc: New. * testsuite/experimental/filesystem/path/query/is_relative.cc: New. * testsuite/lib/dg-options.exp (dg-require-filesystem-ts): Define. * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Define. * testsuite/util/testsuite_fs.h: New. 2015-08-18 Jonathan Wakely <jwakely@redhat.com> * Makefile.in: Regenerate with automake-1.11.6. * aclocal.m4: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. * include/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * python/Makefile.in: Likewise. * src/Makefile.in: Likewise. * src/c++11/Makefile.in: Likewise. * src/c++98/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. 2015-07-29 Tim Shen <timshen@google.com> Backport from mainline 2015-07-29 Tim Shen <timshen@google.com> PR libstdc++/67015 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, _BracketMatcher<>::_M_add_collating_element): Change signature to make checking the and of bracket expression easier. * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): Treat '-' as a valid literal if it's at the end of bracket expression. * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: New testcases. 2015-07-16 Release Manager * GCC 5.2.0 released. 2015-07-02 Jonathan Wakely <jwakely@redhat.com> * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi * configure: Regenerate. * doc/xml/manual/configure.xml: Document valid arguments. * include/bits/locale_conv.h (wstring_convert): Use __cxx11 inline namespace in new ABI. (wstring_convert::_M_conv): Handle empty range. 2015-06-26 Jonathan Wakely <jwakely@redhat.com> * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept. * include/bits/stl_map.h (map::map()): Likewise. * include/bits/stl_multimap.h (multimap::multimap()): Likewise. * include/bits/stl_multiset.h (multiset::multiset()): Likewise. * include/bits/stl_set.h (set::set()): Likewise. 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/66200 * configure.host (host_cpu): Add aarch64 case. * config/cpu/aarch64/atomic_word.h: New file. 2015-06-22 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2015-06-16 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65393 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr copies with moves. Backport from mainline 2015-05-17 François Dumont <fdumont@gcc.gnu.org> * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add missing constructors. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * include/debug/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/debug/unordered_set (unordered_set, unordered_multiset): Likewise. * include/profile/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/profile/unordered_set (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor invocations. * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. 2015-06-22 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2015-05-14 Nathan Myers <ncm@cantrip.org> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/66055 * include/std/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/std/unordered_set (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/cons/66055.cc: New. * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. * testsuite/23_containers/unordered_set/cons/66055.cc: New. 2015-06-15 Jonathan Wakely <jwakely@redhat.com> Backport from mainline 2015-06-09 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/66030 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols for mingw32. 2015-06-12 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/66464 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): Return 4 not 3. 2015-06-08 Jonathan Wakely <jwakely@redhat.com> Backported from mainline 2015-06-01 Jonathan Wakely <jwakely@redhat.com> * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable. PR libstdc++/66354 * include/bits/stl_algobase.h (__fill_a): Check length before calling memset. PR libstdc++/66327 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call memcmp for empty ranges. (__lexicographical_compare<true>::__lc): Likewise. Backported from mainline 2015-06-02 Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. * doc/xml/manual/evolution.xml: Fix typos. * doc/html/manual/*: Regenerate. Backported from mainline 2015-04-21 Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/configure.xml: Update descriptions of options affecting dual ABI and add cross-references. * doc/xml/manual/strings.xml: Clarify that string isn't COW now. * doc/xml/manual/using.xml: Document ABI transition. * doc/html/*: Regenerate. Backported from mainline 2015-04-20 Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/concurrency_extensions.xml: Update documentation on atomics. * doc/xml/manual/using.xml: Likewise. Improve markup. * doc/html/*: Regenerate. 2015-06-08 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/66441 * testsuite/22_locale/conversions/string/66441.cc: New. * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space in the output string for BOM and complete result. PR libstdc++/66417 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order for single UTF-16 units. * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. 2015-06-04 Renlin Li <renlin.li@arm.com> Backported from mainline 2015-06-02 Renlin Li <renlin.li@arm.com> * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. 2015-05-28 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65352 * include/profile/array (array::data): Use _S_ptr. * include/debug/array (array::data): Likewise. PR libstdc++/65352 * include/std/array (__array_traits::_S_ptr): New function. (array::data): Use _S_ptr to avoid creating invalid reference. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: likewise. PR libstdc++/66017 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction from _Base_ptr. (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. * include/ext/aligned_buffer.h (__aligned_membuf): New type using alignment of _Tp as a member subobject, not as a complete object. * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup _Link_type manually as it might not be in the debug info. Backported from mainline 2015-05-13 Jonathan Wakely <jwakely@redhat.com> * include/bits/basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455). Backported from mainline 2015-05-01 Jonathan Wakely <jwakely@redhat.com> * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. 2015-05-26 Doug Evans <dje@google.com> Backported from mainline 2015-04-29 Doug Evans <dje@google.com> PR libstdc++/65839 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. Replace all lookups of "bool" with this. (get_std_size_type): New function. Replace all lookups of std::size_t with this. (*Worker): New method get_result_type. (DequeWorkerBase.__init__): New arg val_type. All callers updated. (ListWorkerBase.__init__): New arg val_type. All callers updated. (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. Delete setting of name, enabled. (UniquePtrDerefWorker.__init__): New arg elem_type. All callers updated. Delete setting of name. (UniquePtrMethodsMatcher): Rewrite for consistency with all other libstdc++ xmethod matchers. * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. * testsuite/libstdc++-xmethods/deque.cc: Ditto. * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. * testsuite/libstdc++-xmethods/list.cc: Ditto. * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. * testsuite/libstdc++-xmethods/vector.cc: Ditto. 2015-05-26 Doug Evans <dje@google.com> Backported from mainline 2015-04-29 Doug Evans <dje@google.com> Use consistent naming for value type attributes. * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype to _val_type. (ArraySizeWorker, ArrayEmptyWorker): Ditto. (ArrayFrontWorker, ArrayBackWorker): Ditto. (ArrayAtWorker, ArraySubscriptWorker): Ditto. (DequeWorkerBase): Rename elemtype to val_type. (ForwardListWorkerBase): Rename _elem_type to _val_type. (ForwardListFrontWorker): Ditto. And rename elem_address to val_address. (ForwardListMethodsMatcher): Rename elem_type to val_type. (VectorWorkerBase): Rename _elemtype to _val_type. 2015-05-22 David Edelsohn <dje.gcc@gmail.com> Backported from mainline 2015-05-21 David Edelsohn <dje.gcc@gmail.com> PR target/66224 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Don't use isync. Use lwsync if available. * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use powerpc cpu definition. 2015-05-07 Renlin Li <renlin.li@arm.com> Backported from mainline 2015-04-22 Renlin Li <renlin.li@arm.com> * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. 2015-05-04 Jakub Jelinek <jakub@redhat.com> Backported from mainline 2015-04-28 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/65883 * include/std/limits (numeric_limits): Add missing unsigned. 2015-05-02 Jonathan Wakely <jwakely@redhat.com> * include/experimental/any (_Internal): Check for trivially-copyable instead of nothrow move constructible. * testsuite/experimental/any/cons/nontrivial.cc: New. 2015-04-28 Doug Evans <dje@google.com> * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): Define to zero. 2015-04-28 Stephan Bergmann <sbergman@redhat.com> * include/debug/vector (_Safe_vector::operator=): Add missing returns. 2015-04-22 Release Manager * GCC 5.1.0 released. 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * scripts/extract_symvers.pl: Ignore elfdump error output. 2015-04-14 Hans-Peter Nilsson <hp@axis.com> * testsuite/29_atomics/atomic/62259.cc: Assert atomic alignment is larger-equal, not equal, to default alignment. 2015-04-13 Jonathan Wakely <jwakely@redhat.com> 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 <jwakely@redhat.com> * doc/xml/manual/evolution.xml: Document changes since 4.5 release. * doc/html/*: Regenerate. 2015-04-12 Uros Bizjak <ubizjak@gmail.com> * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2015-04-10 Andreas Schwab <schwab@linux-m68k.org> * 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 <jwakely@redhat.com> * doc/xml/manual/test.xml: Improve documentation on running a subset of tests. * doc/html/manual/test.html: Regenerate. 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * 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 <jwakely@redhat.com> * 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 <hongjiu.lu@intel.com> * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2015-04-09 Jonathan Wakely <jwakely@redhat.com> Richard Henderson <rth@redhat.com> 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 <ro@CeBiTec.Uni-Bielefeld.DE> * 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 <jakub@redhat.com> * 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 <jwakely@redhat.com> 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 <timshen@google.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> PR libstdc++/62259 PR libstdc++/65147 * include/std/atomic (atomic<T>): 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 <rth@redhat.com> PR libstdc++/65033 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build a fake pointer indicating type alignment. (__atomic_base<T *>::is_lock_free): Likewise. * include/std/atomic (atomic<T>::is_lock_free): Likewise. 2015-03-25 Alan Lawrence <alan.lawrence@arm.com> PR libstdc++/33394 * testsuite/21_strings/basic_string/pthread33394.cc: Use dg-additional-options. 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com> 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 <jwakely@redhat.com> PR libstdc++/33394 * testsuite/21_strings/basic_string/pthread33394.cc: Add test. 2015-03-23 Jonathan Wakely <jwakely@redhat.com> 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 <james.greenhalgh@arm.com> * 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 <jwakely@redhat.com> * 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 <jason@redhat.com> * 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> Torvald Riegel <triegel@redhat.com> * 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. * configure: Regenerate. * include/experimental/system_error: Fix include guard. 2015-03-12 Renlin Li <renlin.li@arm.com> * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for wrapped target. 2015-03-10 Tim Shen <timshen@google.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> 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 <iain@codesourcery.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> PR libstdc++/64367 * include/std/stdexcept (__sso_string): Don't use non-static member in sizeof. 2015-02-28 Matthias Klose <doko@ubuntu.com> PR libstdc++/65246 * python/libstdcxx/v6/__init__.py: Use explicit relative imports. 2015-02-22 Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. * doc/html/manual/status.html: Regenerate. 2015-02-20 Jonathan Wakely <jwakely@redhat.com> 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 <jwakely@redhat.com> 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 <hp@axis.com> 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 <jwakely@redhat.com> * 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<char16_t, char, mbstate_t>::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 <ruediger@c-plusplus.de> Jonathan Wakely <jwakely@redhat.com> * testsuite/22_locale/codecvt/char32_t.cc: New. 2015-02-17 Jonathan Wakely <jwakely@redhat.com> 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 <matthew.wahab@arm.com> * testsuite/28_regex/traits/char/isctype.cc (test01): Fix mixed line-endings introduced in last change. 2015-02-12 Matthew Wahab <matthew.wahab@arm.com> * 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 <matthew.wahab@arm.com> 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 <jwakely@redhat.com> * src/c++11/futex.cc: Do not define for gthr-single.h targets. 2015-02-01 Jonathan Wakely <jwakely@redhat.com> 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 <jakub@redhat.com> * 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 <hongjiu.lu@intel.com> * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN after vtv_cygmin is set. * configure: Regenerated. 2015-01-29 Matthias Klose <doko@ubuntu.com> * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN unconditionally. * configure: Regenerate. 2015-01-29 Caroline Tice <cmtice@google.com> Committing VTV Cywin/Ming patch for Patrick Wollgast * configure: Regenerate. * libsupc++/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. 2015-01-29 Jonathan Wakely <jwakely@redhat.com> * 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 <cmtice@google.com> 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 <jwakely@redhat.com> 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 <kyrylo.tkachov@arm.com> * testsuite/lib/libstdc++.exp (v3_target_compile): Remove check for unsupported. (v3_target_compile_as_c): Likewise. 2015-01-28 Richard Biener <rguenther@suse.de> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> PR libstdc++/64368 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(), numpunct<wchar_t>::~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 <jwakely@redhat.com> * testsuite/23_containers/set/operations/2.cc: Add test for non-transparent comparison function. 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org> 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 <jwakely@redhat.com> * 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 <rguenther@suse.de> 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 <timshen@google.com> 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 <timshen@google.com> 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 <jwakely@redhat.com> * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. 2015-01-21 Jonathan Wakely <jwakely@redhat.com> * testsuite/29_atomics/atomic/64658.cc: Test stored value. 2015-01-20 Jonathan Wakely <jwakely@redhat.com> * 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> * config/abi/pre/gnu.ver: Export new constructors. * include/bits/codecvt.h (codecvt_byname): Add string constructor. (codecvt_byname<char16_t>, codecvt_byname<char32_t>): 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<char16_t>, codecvt_byname<char32_t>): 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 <jwakely@redhat.com> PR libstdc++/64658 * include/std/atomic (atomic_init): Define. * testsuite/29_atomics/atomic/64658.cc: New. 2015-01-19 Tim Shen <timshen@google.com> 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 <timshen@google.com> 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 <ville.voutilainen@gmail.com> Jonathan Wakely <jwakely@redhat.com> * 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. * doc/html/manual/status.html: Regenerate. 2015-01-18 Jonathan Wakely <jwakely@redhat.com> * 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 <jwakely@redhat.com> 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 <ville.voutilainen@gmail.com> Jonathan Wakely <jwakely@redhat.com> * doc/xml/manual/status_cxx2011.xml: Update C++11 status. * doc/html/*: Regenerate. 2015-01-17 Jonathan Wakely <jwakely@redhat.com> 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 <jwakely@redhat.com> PR libstdc++/60940 * include/bits/atomic_base.h: Remove atomic integral typedefs as synonyms for __atomic_base<int> etc. * include/std/atomic: Make atomic_int a synonym for atomic<int> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> * 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 <jwakely@redhat.com> * 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 <triegel@redhat.com> * 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 <jwakely@redhat.com> * acinclude.m4: Fix typo in comment. * configure: Regenerate. * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, codecvt<char16_t, char, mbstate_t>): 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 <triegel@redhat.com> * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based implementation. 2015-01-13 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/64571 * config/abi/pre/gnu.ver: Export fstream functions using new string. 2015-01-12 Jonathan Wakely <jwakely@redhat.com> 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 <thomas@codesourcery.com> * 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 <jwakely@redhat.com> 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 <andreast@gcc.gnu.org> * libsupc++/unwind-cxx.h: Revert previous commit. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 2015-01-09 Tim Shen <timshen@google.com> 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 <jwakely@redhat.com> 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 <jwakely@redhat.com> * include/bits/hashtable_policy.h: Use __bool_constant. 2015-01-07 Jonathan Wakely <jwakely@redhat.com> * libsupc++/Makefile.am: Compile del_ops.cc as C++14. * libsupc++/Makefile.in: Regenerate. 2015-01-06 Jonathan Wakely <jwakely@redhat.com> * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). 2015-01-05 Jakub Jelinek <jakub@redhat.com> Update copyright years. 2015-01-04 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/64483 * testsuite/18_support/exception_ptr/64241.cc: Use dg-require-atomic-builtins. 2015-01-02 Jonathan Wakely <jwakely@redhat.com> * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright date. 2015-01-02 Tim Shen <timshen@google.com> 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 <bernd.edlinger@hotmail.de> 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 <jwakely@redhat.com> PR libstdc++/64468 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. 2015-01-02 Jonathan Wakely <jwakely@redhat.com> 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.