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.