summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/bits
Commit message (Collapse)AuthorAgeFilesLines
...
* 2011-12-07 François Dumont <fdumont@gcc.gnu.org>fdumont2011-12-071-13/+20
| | | | | | | | | | PR libstdc++/51386 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt): Fix computation of _M_prev_resize so that hashtable do not keep on being rehashed when _M_max_load_factor is lower than 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182085 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/51438 * libsupc++/nested_exception.h (nested_exception::~nested_exception): Declare noexcept. * libsupc++/nested_exception.cc: Adjust. * testsuite/18_support/nested_exception/51438.cc: New. * testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. * src/shared_ptr.cc: Use noexcept where appropriate. * include/std/system_error: Likewise. * include/std/functional: Likewise. * include/bits/shared_ptr_base.h: Likewise. * src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate. * include/std/stdexcept: Likewise. * libsupc++/bad_cast.cc: Likewise. * libsupc++/bad_typeid.cc: Likewise. * libsupc++/eh_exception.cc: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/exception: Likewise. * libsupc++/eh_ptr.cc: Likewise. * libsupc++/bad_alloc.cc: Likewise. * libsupc++/exception_ptr.h: Likewise. * include/std/chrono: Use noexcept where appropriate. * src/chrono.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182064 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-06 Jonathan Wakely <jwakely.gcc@gmail.com>paolo2011-12-061-12/+6
| | | | | | | | | | | | | | | | | | | Chris Jefferson <chris@bubblescope.net> PR libstdc++/51183 * include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove. (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare. (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)): Declare. * include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove. (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)): Define. (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define, delegating to the latter. * testsuite/20_util/pair/piecewise2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182054 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/std/type_traits: Doxygen improvements.redi2011-12-041-11/+39
| | | | | | | | | | | | | | | | | * include/bits/move.h: Likewise. * include/tr1/type_traits: Likewise. * include/tr2/type_traits: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line numbers * testsuite/20_util/forward/c_neg.cc: Likewise. * testsuite/20_util/forward/f_neg.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181993 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/stl_heap.h (pop_heap): Check for non-empty range inredi2011-12-041-0/+1
| | | | | | | | overload taking a predicate. * testsuite/25_algorithms/pop_heap/empty2_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181987 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/debug/macros.h (__glibcxx_check_non_empty_range): Define.redi2011-12-031-2/+4
| | | | | | | | | | | * include/debug/debug.h (__glibcxx_requires_non_empty_range): Define. * include/debug/formatter.h (__msg_non_empty_range): Add. * src/debug.cc: Message text for __msg_non_empty_range. * include/bits/stl_heap.h (pop_heap): Check for non-empty range. * testsuite/25_algorithms/pop_heap/empty_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181970 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-30 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-12-011-19/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1, _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4, _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to indicate use of C++11 atomic builtins. * config.h.in: Regenerate. * configure: Regenerate. * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x. * libsupc++/Makefile.in: Regenerate. * include/bits/atomic_base.h: Move lock-free property macros... * libsupc++/atomic_lockfree_defines.h: ...here. * include/std/future: Use C++11 macros. * libsupc++/eh_ptr.cc: Same. * libsupc++/eh_throw.cc: Same. * libsupc++/exception: Same. * libsupc++/exception_ptr.h: Same. * libsupc++/guard.cc: Same. * libsupc++/nested_exception.cc: Same. * libsupc++/nested_exception.h: Same. * src/future.cc: Same. * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS. * doc/doxygen/user.cfg.in * doc/xml/manual/concurrency_extensions.xml * testsuite/18_support/exception_ptr/lifespan.cc * testsuite/lib/libstdc++.exp git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-29 François Dumont <fdumont@gcc.gnu.org>fdumont2011-11-291-39/+5
| | | | | | | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in cache if the hash functor throws. * testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by checking also distance between begin and end iterators to validate underlying data model. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuire/23_containers/unordered_map/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/2.cc: New. * testsuite/23_containers/unordered_multimap/erase/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181799 138bc75d-0d04-0410-961f-82ee72b054a4
* c-familyamacleod2011-11-281-12/+11
| | | | | | | | | | | | | | | | | * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic predefines in one place. Add LOCK_FREE predefines. (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to new func. libstdc++-v3 * include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp predefined macros. * testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER macro checks. Check for expected compile time values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181784 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-23 François Dumont <fdumont@gcc.gnu.org>fdumont2011-11-234-397/+653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/41975 * include/bits/hashtable.h (_Hashtable<>): Major data model modification to limit performance impact of empty buckets in erase(iterator) implementation. * include/bits/hashtable_policy.h (_Hashtable_iterator, _Hashtable_const_iterator): Remove not used anymore. * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove _M_grow_factor, just use natural evolution of prime numbers. Add _M_prev_size to know when the number of buckets can be reduced. * include/bits/unordered_set.h (__unordered_set<>, __unordered_multiset<>), unordered_map.h (__unordered_map<>, __unordered_multimap<>): Change default value of cache hash code template parameter, false for integral types with noexcept hash functor, true otherwise. * include/debug/unordered_map, unordered_set: Adapt transformation from iterator/const_iterator to respectively local_iterator/const_local_iterator. * testsuite/performance/23_containers/copy_construct/unordered_set.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: New. * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New. * testsuite/23_containers/unordered_multiset/cons/copy.cc: New. * testsuite/23_containers/unordered_multiset/erase/1.cc, 24061-multiset.cc: Add checks on the number of bucket elements. * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc, multiset_single.cc, multiset_single_move.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181677 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-18 Harti Brandt <hartmut.brandt@dlr.de>paolo2011-11-181-2/+2
| | | | | | | | | | | PR libstdc++/51209 * include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return nullptr when no node is found. * include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return zero when no node is found. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181480 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-11-187-40/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/hash-long-double-aux.cc: Rename to... * src/hash-long-double-tr1-aux.cc: ... this. * src/compatibility-ldbl.cc: Adjust. * src/hash_tr1.cc: Likewise. * src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc. * include/bits/functional_hash.h (hash<_Tp*>::operator(), specs for integer types, hash<float>::operator(), hash<double>::operator(), hash<long double>::operator()): Declare noexcept. * include/debug/bitset (hash<__debug::bitset>::operator()): Likewise. * include/debug/vector (hash<__debug::vector>::operator()): Likewise. * include/std/system_error (hash<error_code>::operator()): Likewise. * include/std/thread (hash<thread::id>::operator()): Likewise. * include/std/bitset (hash<bitset>::operator()): Likewise. * include/std/typeindex (hash<type_index>::operator()): Likewise. * include/profile/bitset (hash<__profile::vector>::operator()): Likewise. * include/profile/vector (hash<__profile::vector>::operator()): Likewise. * include/ext/vstring.h (hash<__vstring>::operator(), hash<__wvstring>::operator(), hash<__u16vstring>::operator(), hash<__u32vstring>::operator()): Likewise. * include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise. * include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()): Likewise. * include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise. * include/bits/basic_string.h (hash<string>::operator(), hash<wstring>::operator(), hash<u16string>::operator(), hash<u32string>::operator()): Likewise. * include/bits/vector.tcc (hash<vector>::operator()): Likewise. * include/bits/stl_bvector.h (hash<vector>::operator()): Likewise. * libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of throw(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181473 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-16 Andrew MacLeod <amacleod@redhat.com>amacleod2011-11-161-1/+2
| | | | | | | | | | PR libstdc++/51102 * include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE, ATOMIC_POINTER_LOCK_FREE): New. Add missing macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181414 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-15 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-11-154-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/51142 * include/debug/unordered_map (unordered_map<>::erase(iterator), unordered_multimap<>::erase(iterator)): Add, consistently with LWG 2059. * include/debug/unordered_set (unordered_set<>::erase(iterator), unordered_multiset<>::erase(iterator)): Likewise. * include/debug/map.h (map<>::erase(iterator)): Likewise. * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise. * include/profile/map.h (map<>::erase(iterator)): Likewise. * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise. * include/bits/stl_map.h (map<>::erase(iterator)): Likewise. * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise. * testsuite/23_containers/unordered_map/erase/51142.cc: New. * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise. * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise. * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181394 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/51038amacleod2011-11-101-50/+14
| | | | | | | | | | | | | | | | | | | | | | | libstdc++-v3 * include/bits/atomic_base.h (atomic_thread_fence): Call built-in. (atomic_signal_fence): Call built-in. (test_and_set, clear): Call new atomic built-ins. gcc * builtins.c (expand_builtin_atomic_clear): New. Expand atomic_clear. (expand_builtin_atomic_test_and_set): New. Expand atomic test_and_set. (expand_builtin): Add cases for test_and_set and clear. * sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New. (BUILT_IN_ATOMIC_CLEAR): New. testsuite * gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models. * gcc.dg/atomic-flag.c: New. Test __atomic_test_and_set and __atomic_clear. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181271 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Createredi2011-11-091-1/+2
| | | | | | | | the new object with the same allocator. * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181235 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/stl_vector.h (vector::_Alloc_traits): Make private.redi2011-11-091-1/+1
| | | | | | | | | | | | | | | * include/debug/vector: Add allocator-extended constructors, ensure move assignment and swap have same allocator propagation semantics and exceptions specification as base class. * include/profile/vector: Likewise. (vector::push_back(_Tp&&)): Forward argument as rvalue. * testsuite/23_containers/vector/debug/alloc_prop.cc: New. * doc/xml/manual/status_cxx2011.xml: Clarify status of container requirements with respect to allocators. (status.iso.200x): Add anchor for old ID to preserve existing links. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181189 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.redi2011-11-081-65/+73
| | | | | | | | | | | | | | | | | | | | | | (_Sp_counted_deleter): Make 'final'. Use allocator_traits. (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits. Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO for the allocator. (__shared_count, __shared_ptr): Use allocator_traits. * include/std/future (__future_base::_Result_alloc): Make 'final'. Use allocator traits. (__future_base::_Task_state): Make 'final'. (__future_base::_Deferred_state): Likewise. (__future_base::_Async_state): Likewise. * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/private.cc: New. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New. * testsuite/30_threads/promise/cons/alloc_min.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181171 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/ptr_traits.h (__rebind): Replace with...redi2011-11-082-63/+10
| | | | | | | | | | | | | | | (rebind): Implement using alias-declaration. * include/ext/pointer.h (__rebind): Replace with... (rebind): Implement using alias-declaration. * include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits): Replace with... (rebind_alloc, rebind_traits): Implement using alias-declaration. * include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of __rebind_alloc. * include/std/scoped_allocator (rebind): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181139 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-07 Andrew MacLeod <amacleod@redhat.com>amacleod2011-11-071-8/+2
| | | | | | | | | * include/bits/atomic_base.h (atomic_thread_fence): Revert. (atomic_signal_fence): Revert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181119 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-07 Andrew MacLeod <amacleod@redhat.com>amacleod2011-11-071-6/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libstdc++-v3 * include/bits/atomic_base.h (atomic_thread_fence): Call builtin. (atomic_signal_fence): Call builtin. (atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree, otherwise fall back to call __sync_lock_test_and_set. (atomic_flag::clear): Call __atomic_store when it is lockfree, otherwise fall back to call __sync_lock_release. gcc * doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and __atomic_store. * optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set only when originated from that builtin. (expand_atomic_store): Expand to __sync_lock_release when originated from that builtin. * builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that expand_atomic_exchange call originated from here. (expand_builtin_sync_lock_release): Add flag that expand_atomic_store call originated from here. (expand_builtin_atomic_exchange): Add origination flag. (expand_builtin_atomic_store): Add origination flag. * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean parameters to indicate implementation fall back options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181111 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/basic_string.h (basic_string::at): Move adjacent to otherredi2011-11-071-20/+31
| | | | | | | | | | | | | | | | | | overload. (basic_string::pop_back): Define. * include/debug/string (__gnu_debug::basic_string::pop_back): Likewise. * include/ext/vstring.h (__versa_string::pop_back): Likewise. * config/abi/pre/gnu.ver: Add new symbols. * testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New. * testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New. * testsuite/21_strings/basic_string/range_access.cc: Split to ... * testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ... * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here. * testsuite/ext/vstring/modifiers/char/pop_back.cc: New. * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181049 138bc75d-0d04-0410-961f-82ee72b054a4
* Check in patch/merge from cxx-mem-model Branchamacleod2011-11-063-1437/+600
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181031 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-11-022-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/50951 * include/bits/random.tcc (operator<<(basic_ostream<>&, const mersenne_twister_engine<>&): Output _M_p too. (operator<<(basic_ostream<>&, const subtract_with_carry_engine<>&): Likewise. (operator>>(basic_istream<>&, mersenne_twister_engine<>&): Reload it. (operator>>(basic_istream<>&, subtract_with_carry_engine<>&): Likewise. * include/bits/random.h (mersenne_twister_engine<>::operator==): Compare _M_p too. (subtract_with_carry_engine<>::operator==): Compare _M_carry and _M_p too. (shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too. * testsuite/26_numerics/random/independent_bits_engine/ operators/serialize.cc: Extend. * testsuite/26_numerics/random/subtract_with_carry_engine/ operators/serialize.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/ operators/serialize.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/ operators/serialize.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ operators/serialize.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/ operators/serialize.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180764 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-02 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-11-021-0/+5
| | | | | | | | * include/bits/c++config: Add tr2 to versioned namespaces. * scripts/run_doxygen: Adjust generated man files as well. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180760 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/Makefile.am (install-freestanding-headers): Installjason2011-11-0111-0/+22
| | | | | | | c++0x_warning.h. * libsupc++/initializer_list: Include it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180727 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/50920jason2011-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | gcc/c-family * c-common.h (cxx_dialect): Add cxx11 and cxx03. * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03, and -Wc++11-compat. * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x. gcc/cp * class.c (check_field_decl): Change c++0x in diags to c++11. * error.c (maybe_warn_cpp0x): Likewise. * parser.c (cp_parser_diagnose_invalid_type_name): Likewise. * pt.c (check_default_tmpl_args): Likewise. libcpp * include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11, CLK_GNUCXX0X to CLK_GNUCXX11. libstdc++-v3 * include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180707 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/50500jason2011-10-181-0/+2
| | | | | | | | | | | | | | | DR 1082 * class.c (type_has_user_declared_move_constructor): New. (type_has_user_declared_move_assign): New. (add_implicitly_declared_members): Add lazy copy ops even if there's a move. * method.c (lazily_declare_fn): Delete implicit copies if there's a move. (maybe_explain_implicit_delete): Explain this. Use inform rather than error. * cp-tree.h: Declare new fns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180159 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-14 Jonathan Yong <jon_y@users.sourceforge.net>ktietz2011-10-142-9/+9
| | | | | | | | | | | | | | | | | | | * configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64". * config/os/mingw32-w64: Duplicate from config/os/mingw32. * config/os/mingw32-w64/os_defines.h: Enable _GLIBCXX_FULLY_DYNAMIC_STRING if undefined. * acinclude.m4: Set fully-dynamic-string to 1 when enabled, 0 when disabled or undefined if unset by user. * include/bits/basic_string.h: Check if _GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined. include/bits/basic_string.tcc: Likewise. * configure: Regenerated. * config.h.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179961 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-10-141-1/+3
| | | | | | | | | | PR libstdc++/50714 * include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize _M_c_locale_codecvt member. * testsuite/22_locale/codecvt_byname/50714.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179948 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/50594 * decl.c (cxx_init_decl_processing): Add __attribute__((externally_visible)) to operator new and operator delete library fn. 2011-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50594 * libsupc++/new (operator new, operator delete): Decorate with __attribute__((__externally_visible__)). * include/bits/c++config: Add _GLIBCXX_THROW. * libsupc++/del_op.cc: Adjust. * libsupc++/del_opv.cc: Likewise. * libsupc++/del_opnt.cc: Likewise. * libsupc++/del_opvnt.cc: Likewise. * libsupc++/new_op.cc: Likewise. * libsupc++/new_opv.cc: Likewise. * libsupc++/new_opnt.cc: Likewise. * libsupc++/new_opvnt.cc: Likewise. * testsuite/18_support/50594.cc: New. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179863 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-11 Emil Wojak <emil@wojak.eu>paolo2011-10-111-1/+2
| | | | | | | | | PR c++/50661 * include/bits/stl_algobase.h (equal): Compare arrays of pointers too with memcmp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179801 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-10-042-30/+95
| | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/49561 * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size): Add in C++0x mode. (_List_base<>::_List_impl, _List_base<>::_M_get_node, _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&), list<>::size, list<>::swap, list<>::splice): Use it. (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode. * include/bits/list.tcc (list<>::erase): Likewise. (list<>::merge): Adjust in C++0x mode. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/insert_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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-04 Jonathan Wakely <jwakely.gcc@gmail.com>redi2011-10-041-2/+3
| | | | | | | | | | | | | | | | | | | * include/ext/alloc_traits.h (__alloc_traits::max_size): Define. (__alloc_traits::rebind): Define. * include/bits/stl_vector.h: Use them. * testsuite/util/testsuite_allocator.h (SimpleAllocator): Define. * testsuite/23_containers/vector/allocator/minimal.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/vector/requirements/dr438/insert_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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179523 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-03 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-10-032-27/+43
| | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::insert(value_type&&), insert(const_iterator, value_type&&)): Don't define here... * include/bits/unordered_set.h (__unordered_set<>, __unordered_multiset<>): ... define here instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179464 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-291-4/+2
| | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept from declaration too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179360 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-273-5/+11
| | | | | | | | | | | | | | | | PR libstdc++/50529 * include/bits/vector.tcc (vector<>::erase(iterator, iterator)): Fix to do nothing if the range is empty. * include/bits/stl_bvector.h: Likewise. * include/bits/deque.tcc: Likewise. * include/debug/vector: Adjust. * include/debug/deque: Likewise. * testsuite/23_containers/vector/modifiers/erase/50529.cc: New. * testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise. * testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179234 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-26 Benjamin Kosnik <bkoz@redhat.combkoz2011-09-271-18/+19
| | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/48698 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here. * configure.ac: Move AC_SUBST of libtool_VERSION past call to GLIBCXX_ENABLE_SYMVERS. * configure: Regenerate. * include/bits/c++config: Use __7 as versioned namespace name. * config/abi/pre/gnu-versioned-namespace.ver: Change mangling as per above. * include/c_global/cwchar: Adjust nested namespaces. * testsuite/20_util/bind/48698.cc: Add test case. * testsuite/ext/profile/mutex_extensions_neg.cc: Change line number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179221 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-24 John Salmon <john.salmon@deshaw.com>paolo2011-09-241-2/+2
| | | | | | | | PR libstdc++/50510 * include/bits/random.tcc (seed_seq::generate): Fix computation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179149 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-24 John Salmon <john.salmon@deshaw.com>paolo2011-09-241-2/+2
| | | | | | | | PR libstdc++/50509 * include/bits/random.tcc (seed_seq::generate): Fix computation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179144 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-17 François Dumont <fdumont@gcc.gnu.org>fdumont2011-09-171-2/+2
| | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modification of the policy only if no exception occured. * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178927 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-14 François Dumont <fdumont@gcc.gnu.org>fdumont2011-09-141-23/+41
| | | | | | | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore hash policy _M_prev_resize on exception. (_Hashtable<>::_M_insert_bucket): Capture hash policy next resize before using it and use latter method to have it restored on exception. (_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise. (_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise. (_Hashtable<>::rehash): Likewise. * testsuite/23_containers/unordered_set/insert/hash_policy.cc: New. * testsuite/23_containers/unordered_multiset/insert/hash_policy.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178861 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-09 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-101-2/+2
| | | | | | | | | | * include/std/tuple: Use everywhere std::size_t... instead of int... * include/std/functional: Likewise. * include/std/scoped_allocator: Likewise. * include/bits/stl_pair.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178746 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-09 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-081-1/+7
| | | | | | | | | | | PR libstdc++/50336 * include/bits/streambuf_iterator.h (class istreambuf_iterator): Implement LWG 445 in C++0x mode. * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178713 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-06 François Dumont <fdumont@gcc.gnu.org>paolo2011-09-061-23/+12
| | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> * include/bits/hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor to long double. (_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt. (_Prime_rehash_policy::_M_need_rehash): Likewise; cast all float quantities to long double. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178615 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-06 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-061-2/+9
| | | | | | | | | PR libstdc++/50257 * include/bits/hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Optimize for small argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178581 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-01 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-09-011-6/+3
| | | | | | | | | | | | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept, the move constructor allocates memory; rearrange the code in the body to consistently update __ht._M_rehash_policy before using _M_next_bkt on it. * include/debug/unordered_map: Adjust. * include/debug/unordered_set: Likewise. * include/profile/unordered_map: Likewise. * include/profile/unordered_set: Likewise. * testsuite/23_containers/unordered_map/cons/ noexcept_move_construct.cc: Remove. * testsuite/23_containers/unordered_set/cons/ noexcept_move_construct.cc: Likewise. * testsuite/23_containers/unordered_multimap/cons/ noexcept_move_construct.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/ noexcept_move_construct.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178423 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-08-301-2/+3
| | | | | | | | | | * include/bits/stl_iterator.h (make_move_iterator): Implement DR2061. * testsuite/24_iterators/move_iterator/dr2061.cc: New. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178330 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-08-298-41/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/50118 * include/bits/stl_list.h (_List_base<>:: _List_base(const allocator_type&)): Remove. (_List_base<>::_List_base(const _Node_alloc_type&)): Add. (list<>:list(const allocator_type&), list(size_type, const value_type&, const allocator_type&), list(initializer_list<, const allocator_type&), list(_InputIterator, _InputIterator, const allocator_type&), insert(iterator, size_type, const value_type&), insert(iterator, _InputIterator, _InputIterator)): Adjust. * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&, const allocator_type&)): Fix. * include/bits/stl_map.h (map<>::map(const _Compare&, const allocator_type&), map(initializer_list<>, const _Compare&, const allocator_type&), map(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Adjust. * include/bits/stl_set.h (set<>::set(const _Compare&, const allocator_type&), set(initializer_list<>, const _Compare&, const allocator_type&), set(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&, const allocator_type&), multimap(initializer_list<>, const _Compare&, const allocator_type&), multimap(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&, const allocator_type&), multiset(initializer_list<>, const _Compare&, const allocator_type&), multiset(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/forward_list.h (_Fwd_list_base<>:: _Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&, const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)): Remove. (_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&), _Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Add. (forward_list<>::forward_list(const _Alloc&), forward_list(const forward_list&, const _Alloc&), forward_list(forward_list&&, const _Alloc&), forward_list(size_type, const _Tp&, const _Alloc&), forward_list(_InputIterator, _InputIterator, const _Alloc&), forward_list(std::initializer_list<>, const _Alloc&), get_allocator): Adjust. * include/bits/forward_list.tcc * testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/5.cc: New. * testsuite/23_containers/multimap/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/multimap/requirements/ explicit_instantiation/5_c++0x.cc: Likewise. * testsuite/23_containers/set/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/set/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/5.cc: Likewise. testsuite/23_containers/multiset/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/multiset/requirements/ explicit_instantiation/5_c++0x.cc: Likewise. * testsuite/23_containers/list/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/list/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/map/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/map/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178230 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-28 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-08-282-11/+3
| | | | | | | | | * include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045. * include/bits/algorithmfwd.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178147 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud