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. 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.