2014-09-30 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update. * doc/html/manual/status.html: Regenerate. 2014-09-30 Andreas Schwab * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New file. * configure.host (abi_baseline_pair): If try_cpu is generic use host_cpu for the default. 2014-09-29 François Dumont PR libstdc++/62313 * include/debug/safe_base.h (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration. (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise. * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator before _Safe_iterator_base in memory. Lock before modifying the iterator in numerous places. * include/debug/safe_local_iterator.h (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete declaration. (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)): Likewise. * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move normal iterator before _Safe_iterator_base in memory. Lock before modifying the iterator in numerous places. * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt. * include/debug/safe_sequence.tcc (_Safe_sequence<>::_M_transfer_from_if): Adapt. 2014-09-25 Jonathan Wakely DR 1339 * doc/xml/manual/status_cxx2011.xml: Update. * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return an iterator. (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise. * include/bits/stl_vector.h (vector::_M_fill_initialize, vector::_M_default_initialize): Use returned iterator. * include/bits/vector.tcc (vector::_M_fill_assign, vector::_M_fill_insert, vector::_M_default_append): Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/ 16505.cc: Adjust return type. * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/ dr1339.cc: New. 2014-09-25 Jonathan Wakely * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data. 2014-09-25 Jonathan Wakely * testsuite/27_io/basic_ios/conv/bool_neg.cc: New. * testsuite/27_io/basic_ios/conv/bool.cc: New. * testsuite/27_io/basic_ios/conv/voidptr.cc: New. * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile. 2014-09-25 Tim Shen PR libstdc++/63199 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign, basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add _M_loc for basic_regex. * include/bits/regex_automaton.h: Add _M_traits for _NFA. * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa): Make _Compiler::_M_nfa heap allocated. * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make _Compiler::_M_nfa heap allocated. * include/bits/regex_executor.h (_Executor::_M_is_word): Fix accessing _M_traits. * include/bits/regex_executor.tcc (_Executor::_M_dfs): Fix accessing _M_traits. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: New testcase. 2014-09-24 Jonathan Wakely * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the new GLIBCXX_3.4.21 symbols don't match them. PR libstdc++/56193 * config/abi/pre/gnu.ver: Add new exports. * include/bits/basic_ios.h (basic_ios::operator bool): Define. * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate. 2014-09-24 François Dumont PR libstdc++/29988 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New. (_Rb_tree_alloc_node<>): New. (_Rb_tree<>::operator=(_Rb_tree<>&&)): New. (_Rb_tree<>::_M_assign_unique): New. (_Rb_tree<>::_M_assign_equal): New. (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible. * include/bits/stl_map.h (std::map<>::operator=(std::map<>&&)): Default implementation. (std::map<>::operator=(initializer_list<>)): Adapt to use _Rb_tree::_M_assign_unique. * include/bits/stl_multimap.h (std::multimap<>::operator=(std::multimap<>&&)): Default implementation. (std::multimap<>::operator=(initializer_list<>)): Adapt to use _Rb_tree::_M_assign_equal. * include/bits/stl_set.h (std::set<>::operator=(std::set<>&&)): Default implementation. (std::set<>::operator=(initializer_list<>)): Adapt to use _Rb_tree::_M_assign_unique. * include/bits/stl_multiset.h (std::multiset<>::operator=(std::multiset<>&&)): Default implementation. (std::multiset<>::operator=(initializer_list<>)): Adapt to use _Rb_tree::_M_assign_equal. * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New. * testsuite/23_containers/map/allocator/init-list.cc: New. * testsuite/23_containers/map/allocator/move_assign.cc (test03): New. * testsuite/23_containers/multimap/allocator/copy_assign.cc (test03): New. * testsuite/23_containers/multimap/allocator/init-list.cc: New. * testsuite/23_containers/multimap/allocator/move_assign.cc (test03): New. * testsuite/23_containers/multiset/allocator/copy_assign.cc (test03): New. * testsuite/23_containers/multiset/allocator/init-list.cc: New. * testsuite/23_containers/multiset/allocator/move_assign.cc (test03): New. * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New. * testsuite/23_containers/set/allocator/init-list.cc: New. * testsuite/23_containers/set/allocator/move_assign.cc (test03): New. 2014-09-24 Jonathan Wakely PR libstdc++/63353 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo. 2014-09-23 Jonathan Wakely * config/abi/pre/gnu.ver: Adjust basic_ostream exports. * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this to ostream constructor. * include/std/ostream (basic_ostream(basic_iostream*)): Change to take parameter by reference, to avoid ambiguity. * testsuite/27_io/basic_ostream/cons/char/null.cc: New. 2014-09-22 Jason Merrill * testsuite/Makefile.am (%/site.exp): Add @. (check-DEJAGNU): Likewise. * testsuite/Makefile.in: Regenerate. 2014-09-22 Jonathan Wakely * include/bits/stl_queue.h: Include missing header. * include/bits/stl_stack.h: Likewise. * testsuite/23_containers/priority_queue/requirements/ uses_allocator.cc: New. * testsuite/23_containers/queue/requirements/uses_allocator.cc: New. * testsuite/23_containers/stack/requirements/uses_allocator.cc: New. 2014-09-22 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update C++11 status. * doc/xml/manual/status_cxx2014.xml: Update TS status. * doc/html/manual/status.html: Regenerate. 2014-09-22 Jonathan Wakely * include/std/mutex (try_lock): Do not swallow exceptions. * testsuite/30_threads/try_lock/4.cc: Fix test. 2014-09-22 Jonathan Wakely PR libstdc++/54316 PR libstdc++/53626 * config/abi/pre/gnu.ver: Add new exports. * config/io/basic_file_stdio.h (__basic_file): Support moving and swapping. * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap): Likewise. * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap): Likewise. * include/bits/fstream.tcc (basic_filebuf): Likewise. * include/bits/move.h (__exchange): Define for C++11 mode. * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and swapping. * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise. * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream, basic_fstream): Likewise. * include/std/ios: Remove whitespace. * include/std/istream (basic_istream, basic_iostream): Support moving and swapping. * include/std/ostream (basic_ostream): Likewise. * include/std/sstream (basic_stringbuf, basic_istringstream, basic_ostringstream, basic_stringstream): Likewise. * include/std/streambuf (basic_streambuf): Do not default copy constructor and assignment on first declaration. * include/std/utility (exchange): Forward to __exchange. * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New. * src/c++11/Makefile.am: Add stream-related files. * src/c++11/Makefile.in: Regenerate. * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf): New file for explicit instantiation definitions. * src/c++11/ios.cc: Move from src/c++98 to here. (ios_base::_M_move, ios_base::_M_swap): Define. * src/c++11/ios-inst.cc: Move from src/c++98 to here. * src/c++11/iostream-inst.cc: Likewise. * src/c++11/istream-inst.cc: Likewise. * src/c++11/ostream-inst.cc: Likewise. * src/c++11/sstream-inst.cc: Likewise. * src/c++11/streambuf-inst.cc: Likewise. * src/c++98/Makefile.am: Remove stream-related files. * src/c++98/Makefile.in: Regenerate. * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit instantiations. * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise. * src/c++98/ios-inst.cc: Move to src/c++11/. * src/c++98/ios.cc: Move to src/c++11/. * src/c++98/iostream-inst.cc: Likewise. * src/c++98/istream-inst.cc: Likewise. * src/c++98/ostream-inst.cc: Likewise. * src/c++98/sstream-inst.cc: Likewise. * src/c++98/streambuf-inst.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New. * testsuite/27_io/basic_fstream/cons/move.cc: New. * testsuite/27_io/basic_fstream/assign/1.cc: New. * testsuite/27_io/basic_ifstream/cons/move.cc: New. * testsuite/27_io/basic_ifstream/assign/1.cc: New. * testsuite/27_io/basic_istringstream/assign/1.cc: New. * testsuite/27_io/basic_istringstream/cons/move.cc: New. * testsuite/27_io/basic_ofstream/cons/move.cc: New. * testsuite/27_io/basic_ofstream/assign/1.cc: New. * testsuite/27_io/basic_ostringstream/assign/1.cc: New. * testsuite/27_io/basic_ostringstream/cons/move.cc: New. * testsuite/27_io/basic_stringstream/assign/1.cc: New. * testsuite/27_io/basic_stringstream/cons/move.cc: New. 2014-09-17 Jason Merrill * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully. 2014-09-15 Jakub Jelinek * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1, check_p_numbers2, check_p_numbers3, check_p_numbers4, check_p_numbers5, check_p_numbers6, check_p_numbers, check_p_subdirs): New variables. (check_DEJAGNU_normal_targets): Use check_p_subdirs. (check-DEJAGNU): Rewritten so that for parallelized testing each job runs all the *.exp files, with GCC_RUNTEST_PARALLELIZE_DIR set in environment. * testsuite/Makefile.in: Regenerated. * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p, gcc_parallel_test_enable): New procedures. If GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override runtest_file_p to invoke also gcc_parallel_test_run_p. * testsuite/libstdc++-abi/abi.exp: Run all the tests serially by the first parallel runtest encountering it. Fix up path of the extract_symvers script. * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests serially by the first parallel runtest encountering it. Run dg-finish even in case of error. 2014-09-15 Jonathan Wakely * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template parameters to _Ch_traits. 2014-09-12 Jonathan Wakely * include/debug/deque (__gnu_debug::deque): Make base class C++11 allocator aware. 2014-09-12 Jonathan Wakely PR libstdc++/59603 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping. * testsuite/25_algorithms/random_shuffle/59603.cc: New. 2014-09-11 Jonathan Wakely PR libstdc++/63219 * include/bits/regex.h (match_results::format): Remove stray template parameter. * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator): Remove parameter name to avoid -Wunused-parameter warning. * include/bits/regex_executor.h (_State_info::_State_info): Reorder mem-initializers to avoid -Wreorder warning. * include/bits/regex_executor.tcc (_Executor::_M_word_boundary): Remove parameter name to avoid -Wunused-parameter warning. * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces to avoid -Wempty-body warning when not in debug mode. 2014-09-10 Siva Chandra Reddy * python/hook.in: Load the xmethods. * python/Makefile.am (nobase_python_DATA): Add xmethods.py. * python/Makefile.in: Regenerated. * python/libstdcxx/v6/xmethods.py: New file. * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New function. (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods python script if LOAD_XMETHODS is true. * testsuite/libstdc++-xmethods/unique_ptr.cc: New file. * testsuite/libstdc++-xmethods/vector.cc: New file. * testsuite/libstdc++-xmethods/xmethods.exp: New file. 2014-09-10 Tony Wang PR target/56846 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Return with CONTINUE_UNWINDING when the state pattern contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND 2014-09-09 Jonathan Wakely * include/bits/deque.tcc (deque::operator=(const deque&)): Handle allocator propagation. (deque::emplace_front, deque::emplace_back): Use allocator traits. (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise. (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise. * include/bits/stl_deque.h (__deque_buf_size): Add constexpr. (_Deque_iterator): Handle allocators with custom pointers. (_Deque_base): Likewise. Use allocator traits. (deque): Likewise. Add allocator-extended constructors. (deque::_M_move_assign1, deque::_M_move_assign2): Implement move assignment via tag dispatching. (deque::_M_replace_map): Replace existing data. * include/debug/deque (deque): Add allocator-extended constructors. * include/profile/deque (deque): Likewise. * testsuite/23_containers/deque/allocator/copy.cc: New. * testsuite/23_containers/deque/allocator/copy_assign.cc: New. * testsuite/23_containers/deque/allocator/ext_ptr.cc: New. * testsuite/23_containers/deque/allocator/minimal.cc: New. * testsuite/23_containers/deque/allocator/move.cc: New. * testsuite/23_containers/deque/allocator/move_assign-2.cc: New. * testsuite/23_containers/deque/allocator/move_assign.cc: New. * testsuite/23_containers/deque/allocator/noexcept.cc: New. * testsuite/23_containers/deque/allocator/swap.cc: New. * 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/vector/52591.cc: Test both the propagating and always-equal cases. 2014-09-06 François Dumont * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor noexcept qualified. (_Hash_code_base<>): All specialization default constructible if possible. (_Hashtable_base<>): Likewise. * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted. * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New, implementation defaulted. (unordered_multimap<>::unordered_multimap()): Likewise. * include/bits/unordered_set.h (unordered_set<>::unordered_set()): Likewise. (unordered_multiset<>::unordered_multiset()): Likewise. * include/debug/unordered_map: Likewise. * include/debug/unordered_set: Likewise. * testsuite/23_containers/unordered_map/allocator/noexcept.cc (test04()): New. * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc (test04()): New. * testsuite/23_containers/unordered_set/allocator/noexcept.cc (test04()): New. * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc (test04()): New. 2014-08-30 John David Anglin * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2014-08-29 Jonathan Wakely * include/std/complex (complex): Define copy constructor and assignment operator as defaulted. Improve Doxygen comments. 2014-08-28 Jonathan Wakely * testsuite/ext/random/*: Fix incorrect standard references in comments. 2014-08-27 Jonathan Wakely PR libstdc++/62159 * include/Makefile.am (install-freestanding-headers): Add missing C++11 headers. * include/Makefile.in: Regenerate. 2014-08-21 Tony Wang * testsuite/18_support/nested_exception/62154.cc: Disable when the target doesn't provide atomic builtins. 2014-08-19 Yaakov Selkowitz Kai Tietz * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32): Define. * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32): Ditto. * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]: #include . (struct elt): Add dll member. (run): Decrement dll refcount. (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount. 2014-08-15 Jonathan Wakely PR libstdc++/62154 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested): Rewrite to conform to C++11 requirements. * testsuite/18_support/nested_exception/62154.cc: New. 2014-08-14 Matthias Klose * testsuite/ext/random/uniform_on_sphere_distribution/requirements: Remove empty directory. 2014-08-14 Paolo Carlini * testsuite/26_numerics/random/linear_congruential_engine/ requirements/non_uint_neg.cc: Adjust for parser change. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ requirements/non_uint_neg.cc: Likewise. 2014-08-13 Jonathan Wakely PR libstdc++/61841 * include/std/thread (thread::_M_start_thread): Declare new overload. (thread::thread<_Callable, _Args...>): Call new overload with an explicit reference to pthread_create. * src/c++11/thread.cc (thread::_M_start_thread): Add new overload. * config/abi/pre/gnu.ver: Export new function. 2014-08-13 Sylvestre Ledru * include/profile/impl/profiler_hash_func.h: Fix a comment typo 2014-08-13 Paolo Carlini * Fix thinko in the last commit. 2014-08-13 Paolo Carlini PR libstdc++/62118 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>:: operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1. 2014-08-12 Jonathan Wakely * include/bits/basic_string.h (getline): Qualify call to prevent ADL and add overloads for rvalue streams. * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc: New. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc: New. * include/bits/basic_string.h (getline): Declare inline. 2014-08-09 Ulrich Drepper * include/ext/random.tcc (uniform_on_sphere_helper): Define. (uniform_on_sphere_distribution::operator()): Use the new helper class for the implementation. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ equal.cc: Remove bogus part of comment. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ inequal.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ serialize.cc: Add check to verify result of serialzation and deserialization. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ generate.cc: New file. 2014-08-09 Paolo Carlini * include/ext/pod_char_traits.h (char_traits<__gnu_cxx:: character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion. 2014-08-09 François Dumont PR libstdc++/61667 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use _M_need_rehash to initialize the rehash policy and check if a rehash is needed. * testsuite/23_containers/unordered_map/modifiers/61667.cc: New. 2014-08-07 Jonathan Wakely * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)): Optimize. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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. * include/std/future (_State_baseV2::_M_set_result): Pass pointers to _M_do_set. (_State_baseV2::_M_do_set): Change parameters to pointers. (_State_baseV2::_Setter): Change _M_arg from reference to pointer. (_State_baseV2::__setter): Initialize _Setter with pointers. (_State_baseV2::__setter(promise*)): Remove overload. (promise::set_value, promise::set_exception): Pass setter directly to _M_set_result. (_State_baseV2::_Task_setter): Add template parameter for callable type and replace std::function member with pointer to that type. Change _M_result member from reference to pointer. (_State_baseV2::_S_task_setter): Change parameter to lvalue reference and initialize _Task_setter with pointers. (__location_invariant): Specialize for _Setter and _Task_setter. * include/std/future (__location_invariant): Move specializations after preprocessor condition. 2014-08-02 Paolo Carlini PR c++/15339 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix. 2014-08-01 Zifei Tong * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add _GLIBCXX_ prefix to macro. 2014-07-29 Jonathan Wakely * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter._contained): Use compatibility mixin. 2014-07-29 François Dumont * testsuite/util/testsuite_allocator.h (tracker_allocator_counter::allocate): Remove new invocation, only collect information. (tracker_allocator_counter::deallocate): Remove delete invocation, only collect information. (check_inconsistent_alloc_value_type): New. (tracker_allocator): Transform as a facade for any allocator type. (uneq_allocator): Likewise. (propagating_allocator): Likewise. * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an explicitly non propagating allocator. * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise. * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise. 2014-07-29 Jonathan Wakely PR libstdc++/61946 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool, const allocator_type&)): Pass non-const allocator to _S_new_RopeFunction. * testsuite/ext/rope/61946.cc: New. PR libstdc++/61947 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to disambiguate unary constructors. (_Tuple_impl): Pass allocator_arg_t arguments. * testsuite/20_util/tuple/61947.cc: New. * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line. 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/60037 - SIGFPE in std::generate_canonical * include/bits/random.h (_Adaptor): static_assert for non floating-point result type. * include/bits/random.tcc (generate_canonical): Ditto. * include/ext/random.tcc (hypergeometric_distribution::operator()): Use double as a rng result type. * testsuite/26_numerics/random/pr60037-neg.cc: New. * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New. 2014-07-25 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net> * include/experimental/string_view: Make the literal operators constexpr like the ctors they call. 2014-07-23 H.J. Lu * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2014-07-23 Jonathan Wakely * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type to string instead of using gdb.Type.name attribute. 2014-07-19 Jonathan Wakely * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with AC_MSG_CHECKING. 2014-07-18 Jonathan Wakely PR libstdc++/61835 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use raw string. (SingleObjContainerPrinter): Check if type printers are in use. 2014-07-16 Paolo Carlini * include/ext/random: Minor formatting and cosmetic tweaks. (uniform_on_sphere_distribution<>::operator== (const uniform_on_sphere_distribution&, const uniform_on_sphere_distribution&)): Compare the _M_nds. (uniform_on_sphere_distribution<>::reset): Reset _M_nd. (operator!=(const uniform_on_sphere_distribution&, const uniform_on_sphere_distribution&)): Adjust. * include/ext/random.tcc: Minor cosmetc tweaks. 2014-07-15 Jonathan Wakely * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type printer for class templates. (register_type_printers): Use TemplateTypePrinter for containers and other class templates with default template arguments. * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers. * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New base class for experimental::any and experimental::optional printers. (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter): New printers for Fundamentals TS types. * testsuite/libstdc++-prettyprinters/libfundts.cc: New. 2014-07-15 Tim Shen PR libstdc++/61720 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch): Clear match queue for next use. * testsuite/28_regex/algorithms/regex_search/61720.cc: New file. 2014-07-14 Ulrich Drepper * include/ext/random.tcc: Unfortunately more fixes for operator>> and operator<< for uniform_on_sphere_distribution. 2014-07-13 Ulrich Drepper * include/ext/random.tcc: Fix operator>> and operator<< for uniform_on_sphere_distribution. 2014-07-12 Ulrich Drepper * include/ext/random: Add uniform_on_sphere_distribution definition. * include/ext/random.tcc: Add out-of-band member function definitions for uniform_on_sphere_distribution. * testsuite/ext/random/uniform_on_sphere_distribution/ cons/default.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/equal.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/inequal.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/serialize.cc: New file. 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net> Add the logistic_distribution as an extension. * include/ext/random: Add the logistic_distribution. * include/ext/random.tcc: Add the logistic_distribution. * testsuite/ext/random/logistic_distribution/cons/parms.cc: New. * testsuite/ext/random/logistic_distribution/cons/default.cc: New. * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc: New. * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New. * testsuite/ext/random/logistic_distribution/operators/equal.cc: New. * testsuite/ext/random/logistic_distribution/operators/serialize.cc: New. 2014-07-11 Samuel Bronson * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS="" instead of insisting that GCC understand -fdiagnostics-color=never * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load, list loaded libs. 2014-07-11 Samuel Bronson Matthias Klose PR libstdc++/58962 * python/libstdcxx/v6/printers.py: Port to Python 2+3 (imap): New compat function. (izip): Likewise. (Iterator): New mixin to allow writing iterators in Python 3 style regardless of which version we're running on. [Python3] (long) New compat alias for "int". * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax) 2014-07-10 Jonathan Wakely * include/experimental/any (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing. (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator construction. * testsuite/experimental/any/cons/4.cc: New. 2014-07-09 Jason Merrill PR libstdc++/61728 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here. * libsupc++/tinfo.h: Not here. 2014-07-08 Jonathan Wakely * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add missing return. * include/experimental/any: Remove unused header. * include/std/functional (_Maybe_wrap_member_pointer): Fix comments. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. * testsuite/util/testsuite_regex.h: Move include guard. 2014-07-01 Tim Shen PR libstdc++/61601 PR libstdc++/61582 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add a NFA state limit. If it's exceeded, regex_constants::error_space will be throwed. * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use map (which is sparse) instead of vector. This reduce n times clones' cost from O(n^2) to O(n). * include/std/regex: Add map dependency. * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New testcase. 2014-07-01 Tim Shen PR libstdc++/61424 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript, not just regex containing back-references. * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction): exchange _M_next and _M_alt for alternative operator, making matching from left to right. * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos): Add position tracking fom DFS. * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch, _Executor<>::_M_dfs): Likewise. * include/bits/regex_scanner.h: Remove unused enum entry. * testsuite/28_regex/algorithms/regex_search/61424.cc: New testcase from PR. 2014-06-30 Jason Merrill * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch is pure, not inline. 2014-06-28 Paolo Carlini Revert: 2014-06-18 Paolo Carlini Ramana Radhakrishnan PR libstdc++/61536 * config/abi/pre/gnu.ver: Adjust for out of line comparisons. 2014-06-08 Paolo Carlini * config/abi/pre/gnu.ver: Tighten some patterns; tidy. 2014-06-26 Jonathan Wakely * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix parameter type. 2014-06-25 Jonathan Wakely * include/bits/alloc_traits.h (__alloc_rebind): Define alias template. * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind. * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc): Likewise. * include/ext/alloc_traits.h: Fix comment. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded): New RAII utilities for working with allocators. * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define __allocator_type typedef and use new __allocated_ptr type. (_Sp_counted_ptr_inplace): Likewise. (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use __allocate_guarded to to simplify exception handling. * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise. * include/std/future (_Result_alloc::_M_destroy): Likewise. (_Result_alloc::_S_allocate_result): Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New. * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator with fancy pointer. * testsuite/30_threads/promise/cons/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test allocator. * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise. * testsuite/30_threads/promise/cons/alloc.cc: Likewise. 2014-06-24 Jonathan Wakely * include/bits/functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu". * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday): Remove unused typedef. (time_get::do_get_monthname): Likewise. * include/bits/stl_tree.h: Add system_header pragma. * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove redundant const-qualifier. * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro instead of _GLIBCXX_USE_CONSTEXPR. 2014-06-23 Jonathan Wakely * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero. * include/std/chrono (_Checked_integral_constant): Allow zero. * testsuite/20_util/duration/literals/values.cc: Test non-positive values and digit separators. * include/experimental/any PR libstdc++/61532 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not apply the signed specifier to wchar_t. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check cv-qualifier and size. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * include/experimental/any (any_v1): Rename namespace to fundamentals_v1. Change string returned by bad_any_cast::what(). * include/experimental/optional (fundamentals_v1): Add namespace. * include/experimental/string_view (fundamentals_v1): Likewise. * testsuite/experimental/any/typedefs.cc: New. * testsuite/experimental/optional/typedefs.cc: New. * testsuite/experimental/string_view/typedefs.cc: New. 2014-06-18 Paolo Carlini Ramana Radhakrishnan PR libstdc++/61536 * config/abi/pre/gnu.ver: Adjust for out of line comparisons. 2014-06-14 Jonathan Wakely * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/experimental/any: New. * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New constructor. * testsuite/experimental/any/assign/1.cc: New. * testsuite/experimental/any/assign/2.cc: New. * testsuite/experimental/any/cons/1.cc: New. * testsuite/experimental/any/cons/2.cc: New. * testsuite/experimental/any/cons/3.cc: New. * testsuite/experimental/any/misc/any_cast.cc: New. * testsuite/experimental/any/misc/any_cast_neg.cc: New. * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New. * testsuite/experimental/any/misc/swap.cc: New. * testsuite/experimental/any/modifiers/1.cc: New. * testsuite/experimental/any/observers/type.cc: New. * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers. * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen warnings. * include/bits/shared_ptr.h (shared_ptr): Likewise. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * include/parallel/list_partition.h (__parallel::list_partition): Likewise. * include/std/iomanip (quoted): Likewise. * include/tr2/dynamic_bitset (dynamic_bitset): Likewise. * doc/xml/api.xml: Link to more recent API docs. * include/bits/allocator.h: Fix link in doxygen comment. * include/bits/char_traits.h: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/ext/mt_allocator.h: Likewise. * include/std/fstream: Likewise. * include/std/iosfwd: Likewise. * include/std/ostream: Likewise. * include/std/sstream: Likewise. * include/std/streambuf: Likewise. * doc/html/*: Regenerate. * include/experimental/any (any_cast): Combine duplicate doxygen comments. * include/experimental/string_view (basic_string_view): Update doxygen comment. * include/std/bitset (bitset): Move to Doxygen 'utilities' group. * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates. (dynamic_bitset): Improve Doxygen comments. * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen comment. 2014-06-11 Maciej W. Rozycki * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'. 2014-06-10 Jonathan Wakely PR libstdc++/61390 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp (bin_search_tree_traits): Do not redeclare template-parameters. * testsuite/util/testsuite_iterators.h (test_container): Likewise. 2014-06-09 Jonathan Wakely * doc/Makefile.am: Add missing file. Use generate.consistent.ids parameter for DocBook HTML generation. * doc/Makefile.in: Regenerate. * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME. * doc/xml/faq.xml: Update content and improve formatting. * doc/xml/manual/abi.xml: Add stable ID attribute and fix links. * doc/xml/manual/allocator.xml: Add stable ID attribute. * doc/xml/manual/bitmap_allocator.xml: Likewise. * doc/xml/manual/build_hacking.xml: Likewise. * doc/xml/manual/codecvt.xml: Change URL. * doc/xml/manual/ctype.xml: Add stable ID attribute. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/documentation_hacking.xml: Likewise. * doc/xml/manual/evolution.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/locale.xml: Likewise. * doc/xml/manual/messages.xml: Make section id consistent, improve markup, change URL. * doc/xml/manual/parallel_mode.xml: Add stable ID attributes. * doc/xml/manual/profile_mode.xml: Likewise. * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info. * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual/status_cxxtr1.xml: Likewise. * doc/xml/manual/status_cxxtr24733.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/html/*: Regenerate. 2014-06-09 Jonathan Wakely * include/tr1/beta_function.tcc: Fix spelling of include guard in comment. 2014-06-08 Paolo Carlini * config/abi/pre/gnu.ver: Tighten some patterns; tidy. 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net> DR 2344 - std::quoted doesn't respect padding * include/std/iomanip: Allow for padding in quoted inserters. * testsuite/27_io/manipulators/standard/char/dr2344.cc: New. * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New. 2014-06-06 François Dumont * testsuite/23_containers/map/operators/1.cc: Simplify test. 2014-06-06 Jonathan Wakely * doc/xml/faq.xml (faq.stream_reopening_fails): Replace in code example. * doc/xml/manual/backwards_compatibility.xml (backwards.second.stringstreams): Likewise. * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document change of default. * doc/xml/manual/containers.xml (associative.bitset.type_string): Replace in code example. * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer. * doc/xml/manual/documentation_hacking.xml: Improve debugging tips, fix typos, improve markup. * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace with . * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks. * doc/xml/manual/support.xml (std.support.memory): Replace and remove newlines in string literal. 2014-06-03 Paolo Carlini DR 1423 PR c++/52174 * testsuite/20_util/is_assignable/value.cc: Update. 2014-06-02 Jonathan Wakely * include/std/condition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind. * include/std/future (__future_base::_Task_setter): Likewise. (__future_base::_Async_state_impl): Turn __forced_unwind into broken promise and rethrow. * include/std/mutex (try_lock): Likewise. * testsuite/30_threads/async/forced_unwind.cc: New. * testsuite/30_threads/packaged_task/forced_unwind.cc: New. * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set. * include/bits/regex_compiler.tcc (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary search on set. * include/bits/regex_executor.h (__detail::_Executor::_Match_mode): New enumeration type to indicate match mode. (__detail::_Executor::_State_info): New type holding members only needed in BFS-mode. Replace unique_ptr> with unique_ptr. (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs): Replace template parameter with run-time function parameter. (__detail::_Executor::_M_main): Likewise. Dispatch to ... (__detail::_Executor::_M_main_dispatch): New overloaded functions to implement DFS and BFS mode. * include/bits/regex_executor.tcc (__detail::_Executor::_M_main): Split implementation into ... (__detail::_Executor::_M_main_dispatch): New overloaded functions. (__detail::_Executor::_M_lookahead): Create nested executor on stack. (__detail::_Executor::_M_rep_once_more): Pass match mode as function argument instead of template argument. (__detail::_Executor::_M_dfs): Likewise. * include/bits/regex_scanner.tcc: Fix typos in comments. * testsuite/performance/28_regex/range.cc: New. 2014-06-02 Rüdiger Sonderfeld Jonathan Wakely * libstdc++-v3/include/std/type_traits (__strictest_alignment): New helper struct. (aligned_union): New struct (C++11). (aligned_union_t): New type alias (C++14). * doc/xml/manual/status_cxx2011.xml: Update. * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. 2014-06-01 Jonathan Wakely PR libstdc++/61374 * include/experimental/string_view (operator basic_string): Correct order of arguments. (to_string): Replace with member function. Add inline specifiers. Remove unused header. Remove _S_empty_rep and allow _M_str to be null. * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new default constructor semantics. * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix copyright dates. Remove unused header. * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/data/char/1.cc: Fix copyright dates. Adjust to new default constructor semantics. * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/to_string/1.cc: New. * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify. (__uses_allocator_arg): Remove unused type. (__uses_alloc0): Turn into a trivial type. (__uses_alloc): Add missing template parameter in primary template. (__uses_alloc_impl): Rename to __uses_alloc_t. 2014-05-30 Jonathan Wakely * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to work with previous versions of Tcl. * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace Benjamin's old email address. * doc/xml/manual/appendix_contributing.xml (list.copyright): Add Paolo's address too. 2014-05-29 Jonathan Wakely * include/tr2/bool_set: Use UTF-8 for accented characters. * scripts/run_doxygen: Handle Doxygen 1.8.x change. * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag. 2014-05-27 Jonathan Wakely PR libstdc++/61329 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add inline specifier. (_State_base::_M_dot): Likewise. 2014-05-25 Paolo Carlini * include/profile/map.h: Fix typo in comment; minor formatting fix. * include/profile/multimap.h: Likewise. * include/profile/set.h: Likewise. * include/profile/multiset.h: Likewise. 2014-05-24 François Dumont * include/profile/array: Clean useless white chars. * include/profile/base.h: Likewise. * include/profile/iterator_tracker.h: Likewise. * include/profile/bitset: Code cleanup and remove not instrumented code. * include/profile/deque: Likewise. * include/profile/forward_list: Likewise. * include/profile/list (std::__profile::_List_profile<>): New. (std::__profile::list<>): Inherit from latter and adapt. * include/profile/impl/profiler_map_to_unordered_map.h: Generalize advise to match any ordered to unordered container conversion. * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>): New. * include/Makefile.am: Add latter. * include/Makefile.in: Regenerate. * include/profile/map.h (std::__profile::map<>): Inherit from latter, remove not instrumented code. * include/profile/multimap.h (std::__profile::multimap<>): Likewise. * include/profile/set.h (std::__profile::set<>): Likewise. * include/profile/multiset.h (std::__profile::multiset<>): Likewise. * include/profile/unordered_base.h: Add some line feed. * include/profile/unordered_map: Clean useless white chars and replace spaces with tabs. * include/profile/unordered_set: Likewise. * include/profile/vector (std::__profile::_Vector_profile_pre<>): New. (std::__profile::_Vector_profile_post<>): New. (std::__profile::vector<>): Inherit from latter and adapt. 2014-05-23 Jonathan Wakely PR libstdc++/60793 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add dragonfly target selector to all tests that run on freebsd. * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for dragonfly. * testsuite/30_threads/call_once/60497.cc: Add target selectors. * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly selector. * testsuite/30_threads/call_once/60497.cc: Likewise. * testsuite/30_threads/condition_variable/54185.cc: Likewise. * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. * testsuite/30_threads/packaged_task/60564.cc: Likewise. * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. * testsuite/30_threads/promise/60966.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_lock/modifiers/2.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 2014-05-21 François Dumont PR libstdc++/61143 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a usable state. * testsuite/23_containers/unordered_set/61143.cc: New. * testsuite/23_containers/unordered_set/modifiers/swap.cc: New. 2014-05-21 Jonathan Wakely PR libstdc++/61269 * include/std/type_traits: Move include outside namespace std. * 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_unsigned/requirements/typedefs_neg.cc: Likewise. * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale): Fix warning. 2014-05-21 John Marino * acinclude.m4 (*-*-dragonfly*): New target. * configure: Regenerate. * configure.host (*-*-dragonfly*): New target. * config/locale/dragonfly/c_locale.cc: New. * config/locale/dragonfly/ctype_members.cc: New. * config/os/bsd/dragonfly/ctype_base.h: New. * config/os/bsd/dragonfly/ctype_configure_char.cc: New. * config/os/bsd/dragonfly/ctype_inline.h: New. * config/os/bsd/dragonfly/os_defines.h: New. 2014-05-20 Cesar Philippidis * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since libstdc++.exp imports those flags via getenv. * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that CXXFLAGS contains a '-O' flag. 2014-05-20 Alexey Merzlyakov PR libstdc++/61223 Revert: 2014-05-16 Alexey Merzlyakov PR libstdc++/60758 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore and add unwind directives. 2014-05-20 Sebastian Huber * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs. 2014-05-20 Tim Shen PR libstdc++/61227 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_character_class): Add negative character class support. * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply): Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: Add more testcases. 2014-05-19 Jonathan Wakely * python/libstdcxx/v6/printers.py: Use Python3 raise syntax. 2014-05-17 Marc Glisse * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect. * libsupc++/new_opnt.cc: Likewise. 2014-05-17 Jonathan Wakely PR libstdc++/60966 * include/std/future (__future_base::_State_baseV2::_M_set_result): Pass lock into _M_do_set and hold it until the function returns. Signal condition variable after call_once completes. (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not signal here. * testsuite/30_threads/promise/60966.cc: New. 2014-05-16 Iain Sandoe Sandra Loosemore * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir until after checking that the test is eligible to be run. 2014-05-16 Jonathan Wakely * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix test for 32-bit target. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc: Fix test. 2014-05-16 Alexey Merzlyakov PR libstdc++/60758 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore and add unwind directives. 2014-05-16 Jonathan Wakely * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for overflow. * include/std/chrono (chrono_literals::__select_type::_Select_type): Remove. (chrono_literals::_Checked_integral_constant): Define. Simplify UDL operator templates and check for overflow. * testsuite/20_util/duration/literals/range.cc: New. 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net> Jonathan Wakely PR libstdc++/61166 * include/bits/parse_numbers.h: Use integral_constant to remove duplication and simplify. * testsuite/20_util/duration/literals/61166.cc: New. 2014-05-15 Jonathan Wakely PR libstdc++/60326 * include/std/type_traits (__make_unsigned, __make_signed): Define specializations for wchar_t, char16_t and char32_t. * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct test for make_unsigned. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2014-05-15 Jonathan Wakely * include/std/tuple (tuple_size): Implement LWG 2313. * include/std/array (tuple_size, tuple_element): Add Doxygen comments. * include/std/utility (tuple_size, tuple_element): Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Adjust dg-error line number. 2014-05-14 Jonathan Wakely * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove. (__tuple_element_t): Define. (tuple_element): Use __tuple_element_t. (__cv_tuple_size): Define. (tuple_size): Use __cv_tuple_size. (get, __get_helper, __get_helper2): Remove uses of __add_ref etc. (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move. (__tuple_compare): Remove size check, re-order parameters. (operator==, operator<): Use static_assert to check requirements. * include/std/functional (__volget): use __tuple_element_t. * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues. * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. 2014-05-13 Jonathan Wakely PR libstdc++/60497 * include/std/tuple (get, __tuple_compare): Qualify more calls to prevent ADL. Cast comparison results to bool. * testsuite/20_util/tuple/60497.cc: Test accessing rvalues. * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New. PR libstdc++/60497 * include/debug/array (get): Qualify call to other get overload. * include/profile/array (get): Likewise. * include/std/array (get): Likewise. * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get. * include/std/mutex (unique_lock, call_once): Use __addressof. (__unlock_impl): Remove unused template. (__try_to_lock): Declare inline. (__try_lock_impl::__do_try_lock): Qualify function calls. (lock): Avoid narrowing conversion. * testsuite/20_util/bind/60497.cc: New. * testsuite/23_containers/array/element_access/60497.cc: New. * testsuite/30_threads/call_once/60497.cc: New. * testsuite/30_threads/unique_lock/cons/60497.cc: New. 2014-05-09 Jonathan Wakely * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export. (GLIBCXX_3.4.21): Export base object constructor for regex_error. * acinclude.m4 (libtool_VERSION): Bump. * configure: Regenerate. * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version. * testsuite/28_regex/regex_error/base.cc: New. 2014-05-08 Joshua Gay PR libstdc++/61117 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open source" with "free software". * doc/html/faq.html: Likewise. 2014-05-08 Jonathan Wakely PR libstdc++/57394 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as deleted for C++11. (operator=(const ios_base&)): Likewise. * include/std/streambuf: Remove trailing whitespace. (basic_streambuf(const basic_streambuf&)): Fix initializer for _M_out_end. Define as defaulted for C++11. (operator=(const basic_streambuf&)): Define as defaulted for C++11. (swap(basic_streambuf&)): Define for C++11. * testsuite/27_io/basic_streambuf/cons/57394.cc: New. PR libstdc++/13860 * include/std/fstream (basic_filebuf): Enforce requirements on traits. * include/std/iostream: Fix URL in comment. * src/c++98/ios_init.cc: Fix path in comment. 2014-05-08 Paolo Carlini * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning. * configure: Regenerate. 2014-05-07 Jonathan Wakely PR libstdc++/61023 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the comparison function. * testsuite/23_containers/set/cons/61023.cc: New. PR libstdc++/61086 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast): Remove. * include/bits/stl_vector.h (vector::insert, vector::erase): Use arithmetic to obtain a mutable iterator from const_iterator. * include/bits/vector.tcc (vector::insert): Likewise. * include/debug/vector (vector::erase): Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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. 2014-05-06 Paolo Carlini * include/Makefile.in: Regenerate. 2014-05-06 François Dumont * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add parameter to pass the 2 instances to check allocator equality. * include/debug/safe_container.h: New, define _Safe_container<>. * include/Makefile.am: Add previous. * include/debug/deque (std::__debug::deque<>): Inherit _Safe_container<>. Use default implementation for all special functions. * include/debug/forward_list (std::__debug::forward_list<>): Likewise. * include/debug/list (std::__debug::list<>): Likewise. * include/debug/map.h (std::__debug::map<>): Likewise. * include/debug/multimap.h (std::__debug::multimap<>): Likewise. * include/debug/set.h (std::__debug::set<>): Likewise. * include/debug/multiset.h (std::__debug::multiset<>): Likewise. * include/debug/string (std::__debug::basic_string<>): Likewise. * include/debug/unordered_map (std::__debug::unordered_map<>): Likewise. (std::__debug::unordered_multimap<>): Likewise. * include/debug/unordered_set (std::__debug::unordered_set<>): Likewise. (std::__debug::unordered_multiset<>): Likewise. * include/debug/vector (std::__debug::vector<>): Likewise. * include/debug/safe_base.h (_Safe_sequence_base()): Add noexcept. (_Safe_sequence_base(_Safe_sequence_base&&): Remove. (~_Safe_sequence_base()): Add noexcept. * include/debug/safe_sequence.h (std::__debug::_Safe_node_sequence<>): New. * include/debug/safe_unordered_base.h (_Safe_unordered_container_base()): Add noexcept. (~_Safe_unordered_container_base()): Likewise. (_M_swap(_Safe_unordered_container_base&)): Likewise. * include/debug/safe_unordered_container.h: (_Safe_unordered_container<>::_M_invalidate_locals()): New. (_Safe_unordered_container<>::_M_invalidate_all()): New. * src/c++11/debug.cc: Limit includes, adapt methods noexcept qualifications. * testsuite/util/debug/checks.h (check_construct1): Just implement an invalid constructor invocation and no other operations potentially not supported by some types of container. (check_construct2): Likewise. (check_construct3): Likewise. * testsuite/23_containers/forward_list/allocator/move.cc: Add check on iterators to make sure they are correctly moved in debug mode. * testsuite/23_containers/forward_list/allocator/move_assign.cc: Likewise. * testsuite/23_containers/map/allocator/move.cc: Likewise. * testsuite/23_containers/map/allocator/move_assign.cc: Likewise. * testsuite/23_containers/multimap/allocator/move.cc: Likewise. * testsuite/23_containers/multimap/allocator/move_assign.cc: Likewise. * testsuite/23_containers/multiset/allocator/move.cc: Likewise. * testsuite/23_containers/multiset/allocator/move_assign.cc: Likewise. * testsuite/23_containers/set/allocator/move.cc: Likewise. * testsuite/23_containers/set/allocator/move_assign.cc: Likewise. * testsuite/23_containers/unordered_map/allocator/move.cc: Likewise. * testsuite/23_containers/unordered_map/allocator/move_assign.cc: Likewise. * testsuite/23_containers/unordered_multimap/allocator/move.cc: Likewise. * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc: Likewise. * testsuite/23_containers/unordered_multiset/allocator/move.cc: Likewise. * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/move.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/move_assign.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct1_neg.cc: New. * testsuite/23_containers/forward_list/debug/construct2_neg.cc: New. * testsuite/23_containers/forward_list/debug/construct3_neg.cc: New. * testsuite/23_containers/forward_list/debug/construct4_neg.cc: New. * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: New. * testsuite/23_containers/forward_list/debug/move_neg.cc: New. * testsuite/23_containers/map/debug/construct5_neg.cc: New. * testsuite/23_containers/map/debug/move_assign_neg.cc: New. * testsuite/23_containers/map/debug/move_neg.cc: New. * testsuite/23_containers/multimap/debug/construct5_neg.cc: New. * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New. * testsuite/23_containers/multimap/debug/move_neg.cc: New. * testsuite/23_containers/multiset/debug/construct5_neg.cc: New. * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New. * testsuite/23_containers/multiset/debug/move_neg.cc: New. * testsuite/23_containers/set/debug/construct5_neg.cc: New. * testsuite/23_containers/set/debug/move_assign_neg.cc: New. * testsuite/23_containers/set/debug/move_neg.cc: New. * testsuite/23_containers/unordered_map/debug/construct5_neg.cc: New. * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc: New. * testsuite/23_containers/unordered_map/debug/move_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/move_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/move_neg.cc: New. * testsuite/23_containers/unordered_set/debug/construct5_neg.cc: New. * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc: New. * testsuite/23_containers/unordered_set/debug/move_neg.cc: New. * testsuite/23_containers/vector/debug/move_neg.cc: New. 2014-05-05 Andreas Schwab * config/abi/post/ia64-linux-gnu/baseline_symbols.txt (CXXABI_1.3.9): Remove __float128 symbols. 2014-05-02 Jonathan Wakely PR libstdc++/59476 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New function to handle both C++03 and C++11 _Rb_tree_node implementations. (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it. * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to refer to... * testsuite/libstdc++-prettyprinters/simple11.cc: New. PR libstdc++/61036 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)): Check the correct type in the static assertion. * testsuite/20_util/shared_ptr/cons/61036.cc: New. 2014-04-27 Tim Shen * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative. * include/bits/regex_automaton.tcc (_State_base::_M_print, _State_base::_M_dot, _NFA<>::_M_eliminate_dummy, _StateSeq<>::_M_clone): Likewise. * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): Likewise. * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise. * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): Uglify local variable __i. * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache): Use size_t instead of int to compare with vector::size(). 2014-04-27 Tim Shen * include/bits/regex_executor.h: Add _M_rep_count to track how many times this repeat node are visited. * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more, _Executor<>::_M_dfs): Use _M_rep_count to prevent entering infinite loop. 2014-04-27 Tim Shen * include/bits/regex.tcc (__regex_algo_impl<>): Remove _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use _GLIBCXX_REGEX_USE_THOMPSON_NFA instead. * include/bits/regex_automaton.h: Remove quantifier counting variable. * include/bits/regex_automaton.tcc (_State_base::_M_dot): Adjust debug NFA dump. 2014-04-25 Lars Gullik Bjønnes PR libstdc++/60710 * include/experimental/optional (operator!=): Implement in terms of operator==. * testsuite/experimental/optional/relops/1.cc: Remove operator!=. * testsuite/experimental/optional/relops/2.cc: Likewise. * testsuite/experimental/optional/relops/3.cc: Likewise. * testsuite/experimental/optional/relops/4.cc: Likewise. * testsuite/experimental/optional/relops/5.cc: Likewise. * testsuite/experimental/optional/relops/6.cc: Likewise. 2014-04-25 Jonathan Wakely PR libstdc++/60958 * include/tr1/regex (regex_traits::isctype): Comment out broken code. * testsuite/util/testsuite_regex.h (regex_match_debug): Improve comment. 2014-04-25 Marc Glisse * testsuite/util/testsuite_abi.cc (check_version): Update for CXXABI_1.3.9. 2014-04-24 Tim Shen * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next. * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases. 2014-04-24 Marc Glisse PR libstdc++/43622 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols. * config/abi/pre/gnu-versioned-namespace.ver: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2014-04-24 Andreas Schwab * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for new CXXABI_1.3.9 symbols. 2014-04-23 Andreas Schwab * config/abi/post/m68k-linux-gnu/baseline_symbols.txt (CXXABI_1.3.9): New version. 2014-04-22 Marc Glisse PR libstdc++/43622 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols. * config/abi/pre/gnu-versioned-namespace.ver: New symbols. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2014-04-22 Rainer Orth * configure.host: Remove solaris2.9 handling. Change os_include_dir to os/solaris/solaris2.10. * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling. * crossconfig.m4: Remove *-solaris2.9 handling, simplify. * configure: Regenerate. * config/abi/post/solaris2.9: Remove. * config/os/solaris/solaris2.9: Rename to ... * config/os/solaris/solaris2.10: ... this. * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC): Remove. * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Remove Solaris 9 reference. * doc/html/manual/configure.html: Regenerate. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Remove *-*-solaris2.9 xfail. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9 xfail. 2014-04-16 Jonathan Wakely * include/std/functional (__is_location_invariant): Use __or_ helper. 2014-04-15 Jonathan Wakely PR libstdc++/60734 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast. PR libstdc++/60695 * include/std/atomic (atomic<_Tp>): Add static assertion. * testsuite/29_atomics/atomic/60695.cc: New. PR libstdc++/60594 * include/std/functional (function::_Callable): Exclude own type from the callable checks. * testsuite/20_util/function/60594.cc: New. * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions. * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor. * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(nullptr_t)): Likewise * include/std/atomic: Uglify parameter names. PR c++/60786 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 1.cc: Fix invalid explicit instantiations with unqualified names. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 2.cc: Likweise. * testsuite/20_util/tuple/53648.cc: Likweise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ debug_container.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/debug.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/debug.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ debug_container.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do not use uninitialized members in mem-initializers. * testsuite/ext/throw_value/cons.cc: Fix most vexing parse. * testsuite/util/testsuite_common_types.h: Update comment. * include/experimental/string_view: Fix inconsistent exception specs. * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter. 2014-04-14 Jonathan Wakely * include/bits/stl_vector.h (_Vector_base::_Vector_impl, _Vector_base::_M_allocate): NullablePointer requirements do not include initialization from literal zero, use value-initialization. * include/bits/vector.tcc (vector::_M_insert_aux, vector::_M_explace_back_aux): Likewise for assignment. * include/bits/allocator.h (operator==, operator!=): Add exception specifications. PR libstdc++/60497 * include/std/tuple (get): Qualify calls to prevent ADL. * testsuite/20_util/tuple/60497.cc: New. * include/std/tuple (tuple_element_t): Define. * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only test. * testsuite/20_util/tuple/tuple_element_t.cc: New. 2014-04-11 Marc Glisse PR libstdc++/59434 * include/bits/stl_iterator.h (move_iterator::reference, move_iterator::operator*): Implement LWG 2106. * testsuite/24_iterators/move_iterator/dr2106.cc: New file. 2014-04-11 Marc Glisse * include/std/complex (__complex_exp, pow): Specify the template parameter in calls to std::polar, for expression templates. 2014-04-10 Andreas Schwab * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS symbols. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 2014-04-07 Jonathan Wakely * testsuite/20_util/exchange/1.cc: Add missing return statements. * testsuite/20_util/pair/40925.cc: Avoid most vexing parse. * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception specifications. 2014-04-02 Dominique d'Humieres Jack Howarth PR target/54407 * testsuite/30_threads/condition_variable/54185.cc: Skip for darwin < 11. 2014-04-01 Jonathan Wakely * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers): Update link. * doc/xml/manual/policy_data_structures_biblio.xml (bibliography): Fix broken links. * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise. * doc/xml/manual/using_exceptions.xml (bibliography): Likewise. * doc/xml/manual/concurrency_extensions.xml (manual.ext.concurrency.impl.atomic_fallbacks): Likewise. * doc/html/*: Regenerate. 2014-03-31 Lars Gullik Bjønnes Jonathan Wakely PR libstdc++/60270 * include/std/iomanip (_Quoted_string operator>>): Do not clear string if input is not quoted. * testsuite/27_io/manipulators/standard/char/60270.cc: New. 2014-03-31 Jonathan Wakely * libsupc++/eh_ptr.cc: Improve static_assert messages. 2014-03-31 Rainer Orth * testsuite/18_support/exception_ptr/60612-terminate.cc (terminate, f): Wrap in _GLIBCXX_USE_C99. * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. 2014-03-27 Jonathan Wakely * doc/xml/manual/io.xml (std.io.objects): Additional markup. * doc/xml/faq.xml (faq): Refer to clauses instead of chapters. * doc/xml/manual/appendix_contributing.xml (contrib.design_notes): Likewise. * doc/xml/manual/backwards_compatibility.xml (backwards.third): Likewise. * doc/xml/manual/test.xml (test.organization.layout): Likewise. * doc/xml/manual/containers.xml (associative.bitset.size_variable): Fix bad s/part/chapter/ substitutions. * doc/xml/manual/io.xml (std.io): Likewise. * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise. * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise. * doc/html/*: Regenerate. 2014-03-27 Jonathan Wakely PR libstdc++/60612 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is compatible with __cxa_exception. * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding. Fix typos in comments. * testsuite/18_support/exception_ptr/60612-terminate.cc: New. * testsuite/18_support/exception_ptr/60612-unexpected.cc: New. 2014-03-25 Jonathan Wakely PR libstdc++/60658 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()): Use sizeof pointer type not the element type. * testsuite/29_atomics/atomic/60658.cc: New. 2014-03-24 Jakub Jelinek * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS entries. 2014-03-23 John David Anglin * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*. 2014-03-23 François Dumont * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call to delegated constructor. (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise. (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)): Likewise. (_Hashtable( initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise. 2014-03-23 John David Anglin PR libstdc++/60623 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2014-03-21 Jonathan Wakely PR libstdc++/60587 * include/debug/functions.h (_Is_contiguous_sequence): Define. (__foreign_iterator): Accept additional iterator. Do not dispatch on iterator category. (__foreign_iterator_aux2): Likewise. Add overload for iterators from different types of debug container. Use _Is_contiguous_sequence instead of is_lvalue_reference. (__foreign_iterator_aux3): Accept additional iterator. Avoid dereferencing past-the-end iterator. (__foreign_iterator_aux4): Use const value_type* instead of potentially user-defined const_pointer type. * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment and pass end iterator to __gnu_debug::__foreign_iterator. (__glibcxx_check_insert_range_after): Likewise. (__glibcxx_check_max_load_factor): Fix comment. * include/debug/vector (_Is_contiguous_sequence): Define partial specializations. * testsuite/23_containers/vector/debug/57779_neg.cc: Remove -std=gnu++11 option and unused header. * testsuite/23_containers/vector/debug/60587.cc: New. * testsuite/23_containers/vector/debug/60587_neg.cc: New. 2014-03-20 Ulrich Weigand * crossconfig.m4: Support spu-*-elf* targets. * configure: Regenerate. 2014-03-18 Jonathan Wakely PR libstdc++/60564 * include/std/future (__future_base::_Task_state<>): Change constructors to template functions using perfect forwarding. (__create_task_state): Use decayed type as stored task. (packaged_task::packaged_task(_Fn&&)): Forward instead of moving. * testsuite/30_threads/packaged_task/60564.cc: New. 2014-03-16 François Dumont * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests. 2014-03-15 Andreas Schwab * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file. 2014-03-15 Tim Shen * include/bits/regex.h: Add/modify comments. * include/bits/regex_compiler.h: Likewise. * include/bits/regex_executor.h: Likewise. * include/bits/regex_executor.tcc: Likewise. * include/bits/regex_scanner.h: Likewise. 2014-03-14 Jonathan Wakely PR ipa/58721 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for _ZNSt12system_errorC* symbols which are not exported on any target. 2014-03-12 Roland McGrath Mark Seaborn PR libstdc++/59392 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with the address of a null pointer, not with a null pointer to pointer. Copy comment for this case from eh_personality.cc:__cxa_call_unexpected. * testsuite/18_support/bad_exception/59392.cc: New file. 2014-03-11 Jonathan Wakely PR libstdc++/60499 * include/debug/forward_list (forward_list::operator=(forward_list&&)): Uglify name. * include/debug/map (map::operator=(map&&)): Likewise. * include/debug/multimap (multimap::operator=(multimap&&)): Likewise. * include/debug/multiset (multiset::operator=(multiset&&)): Likewise. * include/debug/set (set::operator=(set&&)): Likewise. * include/debug/unordered_map (unordered_map::operator=(unordered_map&&)): Likewise. (unordered_multimap::operator=(unordered_multimap&&)): Likewise. * include/debug/unordered_set (unordered_set::operator=(unordered_set&&)): Likewise. (unordered_multiset::operator=(unordered_multiset&&)): Likewise. * include/debug/vector (vector::operator=(vector&&)): Likewise. * testsuite/23_containers/forward_list/debug/60499.cc: New * testsuite/23_containers/map/debug/60499.cc: New * testsuite/23_containers/multimap/debug/60499.cc: New * testsuite/23_containers/multiset/debug/60499.cc: New * testsuite/23_containers/set/debug/60499.cc: New * testsuite/23_containers/unordered_map/debug/60499.cc: New * testsuite/23_containers/unordered_multimap/debug/60499.cc: New * testsuite/23_containers/unordered_multiset/debug/60499.cc: New * testsuite/23_containers/unordered_set/debug/60499.cc: New * testsuite/23_containers/vector/debug/60499.cc: New 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net> * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers for filesystem and fundamentals TS work items. 2014-03-04 Paolo Carlini PR c++/60376 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Adjust dg-error directives. 2014-02-26 Tim Shen * include/bits/regex.tcc (match_results<>::format, regex_replace<>): Update __out after calling std::copy. * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Add testcase. * testsuite/28_regex/match_results/format.cc: Likewise. 2014-02-22 Marc Glisse PR libstdc++/60308 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const allocator_type&)): Remove redundant call to _M_initialize_map. (deque::deque(const allocator_type&)): Initialize _Base with a constructor that calls _M_initialize_map. Partial revert: 2013-09-20 Marc Glisse PR libstdc++/58338 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to _M_initialize_map. 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net> Rename testsuite directory shared_mutex to shared_timed_mutex for consistency. * testsuite/30_threads/shared_mutex: Moved to... * testsuite/30_threads/shared_timed_mutex: ...here 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net> Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891. * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex. * testsuite/30_threads/shared_lock/locking/2.cc: Ditto. * testsuite/30_threads/shared_lock/locking/4.cc: Ditto. * testsuite/30_threads/shared_lock/locking/1.cc: Ditto. * testsuite/30_threads/shared_lock/locking/3.cc: Ditto. * testsuite/30_threads/shared_lock/requirements/ explicit_instantiation.cc: Ditto. * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto. * testsuite/30_threads/shared_lock/cons/2.cc: Ditto. * testsuite/30_threads/shared_lock/cons/4.cc: Ditto. * testsuite/30_threads/shared_lock/cons/1.cc: Ditto. * testsuite/30_threads/shared_lock/cons/6.cc: Ditto. * testsuite/30_threads/shared_lock/cons/3.cc: Ditto. * testsuite/30_threads/shared_lock/cons/5.cc: Ditto. * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto. * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto. * testsuite/30_threads/shared_mutex/requirements/ standard_layout.cc: Ditto. * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto. * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto. * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto. * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto. * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto. 2014-02-10 Rainer Orth * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail execution on i?86-*-solaris2.9, remove comment. * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise. 2014-02-09 Richard Sandiford * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file. * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise. 2014-01-29 Jonathan Wakely * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. (__alloctr_rebind_helper): Eliminate static const bool member by using true_type and false_type. (allocator_traits::__allocate_helper): Likewise. (allocator_traits::__construct_helper): Likewise. (allocator_traits::__destroy_helper): Likewise. (allocator_traits::__maxsize_helper): Likewise. (allocator_traits::__select_helper): Likewise. * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise. * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)): Remove redundant condition. * include/bits/stl_vector.h (vector::operator=(const vector&)): Likewise. (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use indirection through __alloc_traits. * include/ext/alloc_traits.h (__allocator_always_compares_equal): Eliminate static const bool members by using true_type and false_type. (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize. * testsuite/util/testsuite_allocator.h (PointerBase): Define. * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc: New. * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New. PR libstdc++/59829 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr. (vector::_M_data_ptr): New overloaded functions to ensure empty vectors do not dereference the pointer. * testsuite/23_containers/vector/59829.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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. PR libstdc++/21609 * include/ext/array_allocator.h: Add deprecated attribute. PR libstdc++/57226 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for installation and use of python printers. * doc/xml/manual/status_cxx2011.xml: Update. * doc/html/*: Regenerate. 2014-01-28 Jonathan Wakely Kyle Lippincott PR libstdc++/59656 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing constructor and grant friendship to weak_ptr. (weak_ptr::lock()): Use new constructor. * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function and define specializations. (__shared_count): Add new non-throwing constructor. (__shared_ptr): Add new non-throwing constructor and grant friendship to __weak_ptr. (__weak_ptr::lock()): Use new constructor. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 2014-01-27 Jonathan Wakely PR libstdc++/59215 * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic load. 2014-01-27 Jason Merrill Core DR 475 PR c++/41174 PR c++/59224 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions. * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception) (__cxa_allocate_exception): Don't set it here. 2014-01-26 Jonathan Wakely * include/bits/stl_map.h: Remove anachronistic comment. * include/bits/stl_multimap.h: Add whitespace. * testsuite/23_containers/map/modifiers/emplace/1.cc: Use -std=gnu++11 instead of -std=c++11. * testsuite/23_containers/map/operators/2.cc: Likewise. * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise. * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise. * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise. * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo. * configure: Regenerate. 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/59531 * testsuite/experimental/string_view/operations/copy/char/1.cc: New. * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New. 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net> Peter A. Bigot PR libstdc++/59531 * include/experimental/string_view (copy(_CharT*, size_type, size_type) const): Correct throw string. Correct copy start location. 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net> Peter A. Bigot PR libstdc++/59530 * include/experimental/string_view (operator[](size_type) const): Fix one-off index error in debug check. * testsuite/experimental/string_view/element_access/char/1.cc: Don't test basic_string_view at size(). * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto. 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net> Peter A. Bigot PR libstdc++/59529 * include/experimental/string_view (basic_string_view(const _CharT*, size_type)): Don't care if len == 0. * testsuite/experimental/string_view/operations/substr/char/1.cc: Comment out catch of out_of_range; No terminating null in basic_string_view. Check begin == end. * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc: Ditto. 2014-01-24 Jonathan Wakely PR libstdc++/59548 * include/debug/safe_base.h (_Safe_sequence_base): Define copy constructor to prevent it being implicitly defined as deleted, but do not copy anything. * include/debug/safe_unordered_base.h (_Safe_unordered_container_base): Define copy and move constructors similar to _Safe_sequence_base's. * testsuite/23_containers/unordered_map/59548.cc: New. 2014-01-23 Bernhard Reutner-Fischer Steve Ellcey * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam function. * configure.ac: Use GLIBCXX_CHECK_TMPNAM. * (configure, config.h.in): Regenerate. * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM 2014-01-23 Jonathan Wakely * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer. * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver. PR libstdc++/59872 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment. * include/bits/stl_multimap.h (multimap::operator=(multimap&&)): Likewise. * include/bits/stl_multiset.h (multiset::operator=(multiset&&)): Likewise. * include/bits/stl_set.h (set::operator=(set&&)): Likewise. * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded functions to perform moving or copying of elements from rvalue tree. (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data. (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise. * testsuite/23_containers/map/59872.cc: New. * testsuite/23_containers/map/56613.cc: Remove duplicate include. 2014-01-22 Jonathan Wakely * include/bits/stl_deque.h (_Deque_impl): Move comment. PR libstdc++/58764 * include/bits/stl_deque.h (deque::deque(const allocator_type&): Split into separate default constructor and constructor taking allocator. * include/bits/stl_list.h (list::list(const allocator_type&): Likewise. * include/bits/stl_vector.h (vector::vector(const allocator_type&): Likewise. * include/debug/deque (deque::deque(const allocator_type&)): Likewise. * include/debug/list (list::list(const _Allocator&)): Likewise. * include/debug/map.h (map::map(const _Compare&, const _Allocator&)): Likewise. * include/debug/multimap.h (multimap::multimap(const _Compare&, const _Allocator&)): Likewise. * include/debug/set.h (set::set(const _Compare&, const _Allocator&)): Likewise. * include/debug/multiset.h (multiset::multiset(const _Compare&, const _Allocator&)): Likewise. * include/debug/vector (vector::vector(const allocator_type&)): Likewise. * include/profile/deque (deque::deque(const _Allocator&)): Likewise. * include/profile/list (list::list(const _Allocator&)): Likewise. * include/profile/map.h (map::map(const _Compare&, const _Allocator&)): Likewise. * include/profile/multimap.h (multimap::multimap(const _Compare&, const _Allocator&)): Likewise. * include/profile/set.h (set::set(const _Compare&, const _Allocator&)): Likewise. * include/profile/multiset.h (multiset::multiset(const _Compare&, const _Allocator&)): Likewise. * include/profile/vector (vector::vector(const _Allocator&)): Likewise. * testsuite/23_containers/deque/58764.cc: New. * testsuite/23_containers/list/58764.cc: New. * testsuite/23_containers/map/58764.cc: New. * testsuite/23_containers/multimap/58764.cc: New. * testsuite/23_containers/set/58764.cc: New. * testsuite/23_containers/multiset/58764.cc: New. * testsuite/23_containers/vector/58764.cc: New. * 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/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. PR libstdc++/58764 (again) * include/bits/stl_list.h (list): Make default constructor's exception specification conditional. * include/bits/stl_vector.h (vector): Likewise. * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept to default constructor. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * 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. 2014-01-21 Tim Shen * include/bits/regex.tcc: Remove incorrect `nosubs` handling. * include/bits/regex_scanner.tcc: Handle `nosubs` correctly. * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case. 2014-01-21 Jonathan Wakely PR libstdc++/56267 * include/bits/hashtable.h (__cache_default): Do not depend on whether the hash function is DefaultConstructible or CopyAssignable. (_Hashtable): Adjust static assertions. * doc/xml/manual/containers.xml (containers.unordered.cache): Update. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Remove. 2014-01-20 François Dumont * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests. * include/experimental/string_view (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT, incompatible with constexpr qualifier. (basic_string_view<>::front()): Likewise. (basic_string_view<>::back()): Likewise. * testsuite/experimental/string_view/element_access/wchar_t/2.cc: Merge dg-options directives into one. * testsuite/experimental/string_view/element_access/char/2.cc: Likewise. Remove invalid experimental namespace scope on string_view_type. 2014-01-20 Jonathan Wakely PR libstdc++/56267 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant friendship to _Local_iterator_base<..., false>. (_Local_iterator_base): Give protected access to all existing members. (_Local_iterator_base::_M_curr()): New public accessor. (_Local_iterator_base::_M_get_bucket()): New public accessor. (_Local_iterator_base<..., false>::_M_init()): New function to manage the lifetime of the _Hash_code_base explicitly. (_Local_iterator_base<..., false>::_M_destroy()): Likewise. (_Local_iterator_base<..., false>): Define copy constructor and copy assignment operator that use new functions to manage _Hash_code_base. (operator==(const _Local_iterator_base&, const _Local_iterator_base&), operator==(const _Local_iterator_base&, const _Local_iterator_base&)): Use public API for _Local_iterator_base. * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise. * include/debug/unordered_map (__debug::unordered_map::erase(), __debug::unordered_multimap::erase()): Likewise. * include/debug/unordered_set (__debug::unordered_set::erase(), __debug::unordered_multiset::erase()): Likewise. * testsuite/23_containers/unordered_set/56267-2.cc: New test. 2014-01-19 Tim Shen * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**". * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()): Likewise. * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New. 2014-01-17 François Dumont * include/profile/set.h (set): Implement C++11 allocator-aware container requirements. * include/profile/map.h (map): Likewise. * include/profile/multiset.h (multiset): Likewise. * include/profile/multimap.h (multimap): Likewise. * include/profile/set.h (set::operator=(const set&)): Define as default in C++11 mode. (set::operator=(set&&)): Likewise. * include/profile/map.h (map::operator=(const map&)): Likewise. (map::operator=(map&&)): Likewise. * include/profile/multiset.h (multiset::operator=(const multiset&)): Likewise. (multiset::operator=(multiset&&)): Likewise. * include/profile/multimap.h (multimap::operator=(const multimap&)): Likewise. (multimap::operator=(multimap&&)): Likewise. * include/profile/set.h (set::operator=(std::initializer_list<>)): Rely on the same operator from normal mode. * include/profile/map.h (map::operator=(std::initializer_list<>)): Likewise. * include/profile/multiset.h (multiset::operator=(std::initializer_list<>)): Likewise. * include/profile/multimap.h (multimap::operator=(std::initializer_list<>)): Likewise. * include/profile/set.h (set::swap(set&)): Add noexcept specification. * include/profile/map.h (map::swap(map&)): Likewise. * include/profile/multiset.h (multiset::swap(multiset&)): Likewise. * include/profile/multimap.h (multimap::swap(multimap&)): Likewise. 2014-01-17 Tim Shen * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map. * include/bits/regex_automaton.h: Do not use std::set. * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(), _BracketMatcher<>::_M_add_collating_element(), _BracketMatcher<>::_M_add_equivalence_class(), _BracketMatcher<>::_M_make_range()): Likewise. * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()): Likewise. * include/bits/regex_executor.h: Do not use std::queue. * include/bits/regex_executor.tcc (_Executor<>::_M_main(), _Executor<>::_M_dfs()): Likewise. * include/std/regex: Remove , and . 2014-01-17 Tim Shen * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(), basic_regex<>::assign()): Change __compile_nfa to accept const _CharT* only. * include/bits/regex_compiler.h: Change _Compiler's template argument from <_FwdIter, _TraitsT> to <_TraitsT>. * include/bits/regex_compiler.tcc: Likewise. 2014-01-17 Tim Shen * include/bits/regex_compiler.h: Change _ScannerT into char-type templated. * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate _ScannerBase from _Scanner; Change _Scanner's template argument from _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays instead. * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(), _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(), _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()): Likewise. * include/std/regex: Add for using strchr. 2014-01-17 Tim Shen * bits/regex_automaton.tcc: Indentation fix. * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>, _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>, _BracketMatcher<>): Add bool option template parameters and specializations to make matching more efficient and space saving. * bits/regex_compiler.tcc: Likewise. 2014-01-15 François Dumont PR libstdc++/59712 * include/bits/hashtable_policy.h: Fix some long lines. * include/bits/hashtable.h (__hash_code_base_access): Define and use it to check its _M_bucket_index noexcept qualification. Use also in place of... (__access_protected_ctor): ...this. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. 2014-01-13 François Dumont * include/debug/set.h (set): Implement C++11 allocator-aware container requirements. * include/debug/map.h (map): Likewise. * include/debug/multiset.h (multiset): Likewise. * include/debug/multimap.h (multimap): Likewise. * include/debug/set.h (set::operator=(set&&)): Add noexcept and fix implementation regarding management of safe iterators. * include/debug/map.h (map::operator=(map&&)): Likewise. * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise. * include/debug/multimap.h (multimap::operator=(multimap&&)): Likewise. * include/debug/set.h (set::operator=(std::initializer_list<>)): Rely on the same operator from normal mode. * include/debug/map.h (map::operator=(std::initializer_list<>)): Likewise. * include/debug/multiset.h (multiset::operator=(std::initializer_list<>)): Likewise. * include/debug/multimap.h (multimap::operator=(std::initializer_list<>)): Likewise. * include/debug/set.h (set::swap(set&)): Add noexcept specification, add allocator equality check. * include/debug/map.h (map::swap(map&)): Likewise. * include/debug/multiset.h (multiset::swap(multiset&)): Likewise. * include/debug/multimap.h (multimap::swap(multimap&)): Likewise. 2014-01-10 Jonathan Wakely PR libstdc++/59698 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup and stylistic improvements. * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise and update for C++11. * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise. PR libstdc++/59687 * doc/xml/manual/backwards_compatibility.xml (backwards.third.nocreate_noreplace): Correct and expand. PR libstdc++/59699 * doc/xml/manual/support.xml (std.support.types.null): Update links. 2014-01-09 Jonathan Wakely PR libstdc++/59738 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore support for non-Movable types. PR libstdc++/59680 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep. 2014-01-08 François Dumont * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass *this allocator instance when building temporary vector instance so that *this allocator does not get moved. * include/debug/safe_base.h (_Safe_sequence_base(_Safe_sequence_base&&)): New. * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new move constructor from _Safe_sequence_base. (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap safe iterators if the instance is moved. (__gnu_debug::vector<>::operator=(vector&&)): Likewise. * testsuite/23_containers/vector/allocator/move.cc (test01): Add check on a vector iterator. * testsuite/23_containers/vector/allocator/move_assign.cc (test02): Likewise. (test03): New, test with a non-propagating allocator. * testsuite/23_containers/vector/debug/move_assign_neg.cc: New. 2014-01-07 Tim Shen * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(), _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(), _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(), _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(), _BracketMatcher<>::_M_add_char(), _BracketMatcher<>::_M_add_collating_element(), _BracketMatcher<>::_M_add_equivalence_class(), _BracketMatcher<>::_M_add_character_class(), _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(), _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()): Fix _AnyMatcher behavior of POSIX style and move _M_flags to template parameter; Add cache for _BracketMatcher. Adjust declarations from here... * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also, imbuing a regex will trigger a recompilation to rebuild the cache. * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(), _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for different template bool parameters. * include/bits/regex_executor.h: Remove unnecessary declarations. * include/std/regex: Adjust including orders. * testsuite/28_regex/traits/char/user_defined.cc: New. * testsuite/28_regex/traits/wchar_t/user_defined.cc: New. 2014-01-07 Rainer Orth * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2014-01-02 Richard Sandiford Update copyright years 2014-01-02 Richard Sandiford * testsuite/18_support/new_handler.cc, testsuite/18_support/terminate_handler.cc, testsuite/18_support/unexpected_handler.cc: Use the standard form for the copyright notice. Copyright (C) 2014 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.