summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/bits
Commit message (Collapse)AuthorAgeFilesLines
...
* 2010-10-28 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-283-152/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/44436 (partial) * include/bits/hashtable.h (_Hashtable<>::insert(value_type&&), insert(_Pair&&), insert(const_iterator, value_type&&), insert(const_iterator, _Pair&&)): Add. (_M_allocate_node, _M_insert, _M_insert_bucket): Templatize. * include/bits/hashtable_policy.h (__detail::_Select1st): Add; use it throughout. (_Map_base<>::operator[](_Key&&)): Add. * include/bits/unordered_map.h: Use __detail::_Select1st throughout. * include/debug/unordered_map: Update. * include/debug/unordered_set: Likewise. * include/profile/unordered_map: Likewise. * include/profile/unordered_set: Likewise. * testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add; minor tweaks throughout, use deleted special members. * testsuite/23_containers/unordered_map/insert/map_single_move-1.cc: New. * testsuite/23_containers/unordered_map/insert/map_single_move-2.cc: Likewise. * testsuite/23_containers/unordered_map/insert/array_syntax_move.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/ multimap_single_move-1.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/ multimap_single_move-2.cc: Likewise. * testsuite/23_containers/unordered_set/insert/set_single_move.cc: Likewise. * testsuite/23_containers/unordered_multiset/insert/ multiset_single_move.cc: Likewise. * testsuite/23_containers/unordered_map/insert/array_syntax.cc: Minor cosmetic changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166030 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-251-13/+12
| | | | | | | | | | | | | | | | | | | | | | | * include/bits/forward_list.h (_Fwd_list_node_base::swap): Remove. (_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&), _Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&, const _Alloc&)): Don't use swap. (forward_list<>::swap): Just use std::swap. * include/bits/forward_list.h (_Fwd_list_base<>::_Fwd_list_base(), _Fwd_list_base(const _Alloc&)): Don't zero again _M_next. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165915 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-251-4/+0
| | | | | | | | * include/bits/hashtable.h (_Hashtable<>:_M_get_Value_allocator): Remove, unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165912 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-17 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-172-10/+18
| | | | | | | | | | | | | | | | | | | | | | | * include/bits/forward_list.h (forward_list<>::erase_after): Return an iterator. (_M_erase_after): Return _Fwd_list_node_base*. * include/bits/forward_list.tcc: Likewise. * include/debug/forward_list: Likewise. * testsuite/23_containers/forward_list/modifiers/3.cc: Update and extend. * testsuite/util/exception/safety.h (erase_base<forward_list<>>): Adjust. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165590 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/45990redi2010-10-131-1/+1
| | | | | | | * include/bits/regex.h (regex_traits::isctype): DR 1337. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165438 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-132-38/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/random.h (discrete_distribution<>::param_type:: param_type()): Default construct the vectors. (discrete_distribution<>::param_type::probabilities): Adjust. (discrete_distribution<>::probabilities): Likewise. (discrete_distribution<>::max): Likewise. (piecewise_constant_distribution<>::param_type:: param_type()): Default construct the vectors. (piecewise_constant_distribution<>::param_type::intervals): Adjust. (piecewise_constant_distribution<>::param_type::densities): Likewise. (piecewise_constant_distribution<>::intervals): Likewise. (piecewise_constant_distribution<>::densities): Likewise. (piecewise_constant_distribution<>::min): Likewise. (piecewise_constant_distribution<>::max): Likewise. (piecewise_linear_distribution<>::param_type:: param_type()): Default construct the vectors. (piecewise_linear_distribution<>::param_type::intervals): Adjust. (piecewise_linear_distribution<>::param_type::densities): Likewise. (piecewise_linear_distribution<>::intervals): Likewise. (piecewise_linear_distribution<>::densities): Likewise. (piecewise_linear_distribution<>::min): Likewise. (piecewise_linear_distribution<>::max): Likewise. * include/bits/random.tcc (discrete_distribution<>::param_type:: _M_initialize): Deal quickly with raw _M_prob equivalent to a default constructed param_type, just clear the vector. (discrete_distribution<>::operator()): Early return 0 for a default constructed distribution. (piecewise_constant_distribution<>::param_type::_M_initialize): Likewise for _M_int and _M_den. (piecewise_constant_distribution<>::operator()): Early return for a default constructed distribution. (piecewise_linear_distribution<>::param_type::_M_initialize): Likewise. (piecewise_linear_distribution<>::operator()): Early return for a default constructed distribution. * testsuite/26_numerics/random/discrete_distribution/operators/ call-default.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/call-default.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165427 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-121-6/+18
| | | | | | | | | | | | | | | | | * include/bits/random.h (discrete_distribution<>::param_type): Disable move operations. (piecewise_constant_distribution<>::param_type): Likewise. (piecewise_linear_distribution<>::param_type): Likewise. * include/bits/random.h (discrete_distribution<>::param_type:: param_type()): Simplify, don't use _M_initialize. (piecewise_constant_distribution<>::param_type::param_type()): Likewise. (piecewise_linear_distribution<>::param_type::param_type()): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-121-0/+3
| | | | | | | | | | | * include/bits/random.tcc (piecewise_linear_distribution<>:: operator()): Don't crash when the dist is default-constructed. * testsuite/26_numerics/random/piecewise_linear_distribution/ operators/call-default.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165379 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-071-2/+3
| | | | | | | | | | | | * include/bits/locale_facets_nonio.tcc (time_get<>:: _M_extract_via_format): Tighten somewhat error checking. * testsuite/22_locale/time_get/get_time/char/6.cc: New. * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165094 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 David Krauss <potswa@mac.com>paolo2010-10-061-111/+117
| | | | | | | | | | | | | | | PR libstdc++/45841 * include/bits/fstream.h (basic_filebuf::underflow): Overflow success does not preclude returning failure. (basic_filebuf::pbackfail): Likewise. (basic_filebuf::xsputn): Fix indentation problem. (basic_filebuf::xsgetn): Likewise. Also, add similar overflow call to enable optimized case from write mode. * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: New. * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165009 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>redi2010-10-051-4/+4
| | | | | | | | * include/bits/locale_facets_nonio.h (time_get::get_time): Doc typo. (time_get::get_date): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165002 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-10-053-49/+8
| | | | | | | | | | | | | | * include/std/type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add. * include/std/functional (_Has_result_type_helper, _Has_result_type): Remove; use the above to define __has_result_type. * include/bits/stl_iterator_base_types.h: Use the above to define __has_iterator_category. * include/bits/allocator.h (__has_allocator_type): Use the above. * include/bits/cpp_type_traits.h (__has_iterator_category, __is_iterator): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164993 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-292-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Add debug/forward_list. * include/Makefile.in: Regenerate. * testsuite/util/testsuite_container_traits.h (traits_base): Add has_erase_after and hash_insert_after typedefs. (traits<forward_list<>>): Adjust. * testsuite/util/exception/safety.h (erase_point, erase_range, insert_point): Deal correctly with forward_list. * include/Makefile.am: Add. 2010-09-29 François Dumont <francois.cppdevs@free.fr> * src/debug.cc: Add forward_list specific debug messages. * include/debug/forward_list: New. * include/debug/formatter.h: Add debug message ids and before begin iterator state. * include/debug/macros.h (__glibcxx_check_insert_after, __glibcxx_check_insert_range_after, __glibcxx_check_erase_after, __glibcxx_check_erase_range_after): Add. * include/debug/safe_iterator.h (_BeforeBeginHelper): Add. (_Safe_iterator<>::_M_before_dereferenceable, _Safe_iterator<>::_M_is_before_begin): Add. (_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end, _Safe_iterator<>::_M_incrementable): Adjust. * include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG defined. * include/bits/forward_list.h, forward_list.tcc: Put in std::__norm when debug mode is active. * testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile even in debug mode. * testsuite/23_containers/forward_list/debug/erase_after1.cc, erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc, insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc, erase_after8.cc, insert_after3.cc, erase_after9.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164717 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-274-22/+85
| | | | | | | | | | | | | | | | | | | * include/bits/allocator.h (allocator_arg_t, allocator_arg, uses_allocator): Add. * testsuite/20_util/uses_allocator/value.cc: New. * testsuite/20_util/uses_allocator/requirements/typedefs.cc: Likewise. * testsuite/20_util/uses_allocator/requirements/ explicit_instantiation.cc: Likewise. * include/bits/stl_queue.h (uses_allocator<queue>, uses_allocator<priority_queue>): Add. * include/bits/stl_stack.h (uses_allocator<stack>): Likewise. * include/bits/stl_pair.h (piecewise_construct): Add. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164654 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-22 David Krauss <potswa@mac.com>paolo2010-09-221-24/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/45628 * include/bits/fstream.tcc (basic_filebuf::underflow): Add state transition to avoid modality requiring seekoff(0,ios::cur). (basic_filebuf::pbackfail): Likewise. (basic_filebuf::overflow): Likewise. (basic_filebuf::_M_seek): Avoid minor unnecessary conversion. (basic_filebuf::seekoff): Remove code to _M_get_ext_pos; make (0, ios::cur) a special case preserving buffer contents. (basic_filebuf::_M_get_ext_pos): New function to obtain status about codecvt extern_t buffer for overflow and seekoff. * include/std/fstream (basic_filebuf::_M_get_ext_pos): Likewise. * config/abi/pre/gnu.ver: Export new symbols. * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: New, verifies that seekoff(0, ios::cur) preserves buffers. * testsuite/27_io/basic_filebuf/seekoff/char/45628-2.cc: Likewise. for codecvt case. More lenient as it may still flush put area. * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Modify to check that seekoff is not required between read and write. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Remove. * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Likewise. * testsuite/util/testsuite_character.h (codecvt::do_length): Comply with 22.2.1.5.2/10 "Returns ... the LARGEST value in the range..." git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164529 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-223-8/+14
| | | | | | | | | | | | | | | | | | | * include/bits/functional_hash.h (__hash_base): Add. (hash): Derive from __hash_base instead. * include/debug/bitset (hash): Likewise. * include/debug/vector (hash): Likewise. * include/std/system_error (hash): Likewise. * include/std/thread (hash): Likewise. * include/std/bitset (hash): Likewise. * include/profile/bitset (hash): Likewise. * include/profile/vector (hash): Likewise. * include/bits/basic_string.h (hash): Likewise. * include/bits/stl_bvector.h (hash): Likewise. * include/std/typeindex (hash): Do not derive from unary_function, add result_type and argument_type typedefs; trim includes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-16 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-161-2/+2
| | | | | | | | * include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164343 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-13 Matt Austern <austern@google.com>paolo2010-09-133-80/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/hash_bytes.cc: New file, exports _Hash_bytes (a Murmur hash), and _Fnv_hash_bytes (based on a FNV algorithm). * src/compatibility-c++0x.cc (hash<string>::operator(), hash<const string&>::operator(), hash<wstring>::operator(), hash<const wstring&>::operator(), hash<error_code>::operator()): Adjust, use _Hash_bytes. * 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/bits/basic_string.h (hash<string>::operator(), hash<wstring>::operator(), hash<u16string>::operator(), hash<u32string>::operator()): Adjust. * include/bits/vector.tcc (hash<vector<bool>>::operator()): Adjust. * include/bits/functional_hash.h (_Hash_bytes, _Fnv_hash_bytes): Declare. (struct _Hash_impl, struct _Fnv_hash_impl): Add, use _Hash_bytes and _Fnv_hash_bytes, respectively. (hash<float>::operator(), hash<double>::operator()): Adjust. * config/abi/pre/gnu.ver: Add exports. * src/Makefile.am: Add. * src/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164253 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-132-2/+2
| | | | | | | | | * include/bits/forward_list.h (forward_list<>::resize(size_type, value_type)): Fix signature, per LWG 1340. * include/bits/forward_list.tcc: Adjust definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164249 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-09 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-092-1/+9
| | | | | | | | | | PR libstdc++/45613 * include/bits/random.tcc: Add missing include guards. * include/bits/random.h: Likewise. * include/tr1/random.tcc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164074 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-073-18/+32
| | | | | | | | | | | | | | | | | Marc Glisse <marc.glisse@normalesup.org> PR libstdc++/45549 * include/bits/cpp_type_traits.h (__is_iterator_helper): Rename to __has_iterator_category. (__is_iterator): Adjust. * include/bits/stl_iterator_base_types.h (__iterator_traits): Add in C++0x mode, use the latter. (iterator_traits): In C++0x mode, derive from the latter. * include/bits/stl_iterator_base_funcs.h (next, prev): Remove enable_if on the return type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163977 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-01 Christopher Yeleighton <giecrilj@stegny.2a.pl>paolo2010-09-012-31/+22
| | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/45488 * include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move two variables inside the main loop. * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163747 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-311-53/+61
| | | | | | | | | | | | | | | | | | PR libstdc++/44480 * include/bits/hashtable.h (_Hashtable<>::_M_begin_bucket_index): Add, caching the index of the first non-empty bucket. (begin, cbegin): Use it. (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, ...), _Hashtable(const _Hashtable&), _Hashtable(_Hashtable&&), swap(_Hashtable&), clear): Adjust. (_M_insert_bucket, _M_insert, erase(const_iterator), erase(const key_type&), _M_rehash): Update it. * include/bits/hashtable.h (_Hashtable<>::_M_erase): Remove. (erase(const_iterator)): Inline the latter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163686 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-292-21/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/23_containers/bitset/invalidation: Move... * testsuite/23_containers/bitset/debug/invalidation: ... here. * testsuite/23_containers/deque/invalidation: Move... * testsuite/23_containers/deque/debug/invalidation: ... here. * testsuite/23_containers/list/invalidation: Move... * testsuite/23_containers/list/debug/invalidation: ... here. * testsuite/23_containers/map/invalidation: Move... * testsuite/23_containers/map/debug/invalidation: ... here. * testsuite/23_containers/multimap/invalidation: Move... * testsuite/23_containers/multimap/debug/invalidation: ... here. * testsuite/23_containers/set/invalidation: Move... * testsuite/23_containers/set/debug/invalidation: ... here. * testsuite/23_containers/multiset/invalidation: Move... * testsuite/23_containers/multiset/debug/invalidation: ... here. * testsuite/23_containers/vector/invalidation: Move... * testsuite/23_containers/vector/debug/invalidation: ... here. 2010-08-29 François Dumont <francois.cppdevs@free.fr> * include/bits/stl_algobase.h (_Iter_base): Move... * include/bits/stl_iterator_base_types.h: ...here. * include/debug/functions.h (__check_valid_range, __check_string, __check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include formatter.h and use formatting macros for a consistent debug result. * include/debug/formatter.h (__check_singular): Declare; do not include debug.h. * include/debug/debug.h: Do not include formatter.h. * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator) rename to iterator_type. (__gnu_debug::__base): Add. * include/debug/set.h: Use everywhere __gnu_debug::__base once iterator range valided. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/vector: Likewise. * include/debug/unordered_set: Likewise. * include/debug/deque: Likewise. * include/debug/map.h: Likewise. * include/debug/string: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * testsuite/23_containers/util/debug/assign_neg.h: New test cases on debug checks performed on container assign operation. * testsuite/23_containers/util/debug/construct_neg.h: New test cases on debug checks on constructors. * testsuite/23_containers/util/debug/insert_neg.h: New test cases on debug checks performed on container insert operations. * testsuite/23_containers/unordered_map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: New. * testsuite/23_containers/multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/vector/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/deque/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/list/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/performance/23_containers/range_construct/ list_construct1.cc: New, validate performance impact of the patch on the debug mode. * testsuite/performance/23_containers/range_construct/ list_construct2.cc: Likewise. * testsuite/performance/23_containers/range_construct/ vector_construct.cc: Likewise. * testsuite/performance/23_containers/range_construct/ deque_construct.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163628 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-26 Benjamin Kosnik <bkoz@redhat.com>bkoz2010-08-271-1/+7
| | | | | | | | * include/bits/stl_iterator_base_types.h: Fix doxygen warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163592 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-143-121/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::operator=(const _Hashtable&)): Move inline. (operator=(_Hashtable&&)): Define. * include/bits/unordered_map.h (unordered_map(unordered_map&&), unordered_map(const unordered_map&), unordered_multimap (unordered_multimap&&), unordered_multimap(const unordered_multimap&), __unordered_map(__unordered_map&&), __unordered_map(const __unordered_map&), __unordered_multimap(__unordered_multimap&&), __unordered_multimap(const __unordered_multimap&)): Do not define, leave implicit. * include/bits/unordered_set.h (unordered_set(unordered_set&&), unordered_set(const unordered_set&), unordered_multiset (unordered_multiset&&), unordered_multiset(const unordered_multiset&), __unordered_set(__unordered_set&&), __unordered_set(const __unordered_set&), __unordered_multiset(__unordered_multiset&&), __unordered_multiset(const __unordered_multiset&)): Likewise. * include/bits/unordered_map.h (__unordered_map(initializer_list<>), __unordered_map<>::operator=(initializer_list<>), __unordered_multimap(initializer_list<>), __unordered_multimap<>:: operator=(initializer_list<>)): Add. * include/bits/unordered_set.h (__unordered_set(initializer_list<>), __unordered_set<>::operator=(initializer_list<>), __unordered_multiset(initializer_list<>), __unordered_multiset<>:: operator=(initializer_list<>)): Likewise. * include/bits/unordered_map.h (__unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_map(initializer_list<>, size_type __n), unordered_multimap(initializer_list<>, size_type __n)): Fix __n default to 0. * include/bits/unordered_set.h (__unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_set(initializer_list<>, size_type __n), unordered_multiset(initializer_list<>, size_type __n)): Likewise. * include/debug/unordered_map (unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_map(initializer_list<>, size_type __n), unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_multimap(initializer_list<>, size_type __n)): Likewise. * include/debug/unordered_set (unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_set(initializer_list<>, size_type __n), unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_multiset(initializer_list<>, size_type __n)): Likewise. * include/profile/unordered_map (unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_map(initializer_list<>, size_type __n), unordered_map(_InputIterator, _InputIterator, size_type __n), unordered_multimap(initializer_list<>, size_type __n)): Likewise. * include/profile/unordered_set (unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_set(initializer_list<>, size_type __n), unordered_set(_InputIterator, _InputIterator, size_type __n), unordered_multiset(initializer_list<>, size_type __n)): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163236 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-141-22/+1
| | | | | | | | | | PR libstdc++/45281 * include/bits/stl_queue.h (queue(queue&&), operator=(queue&&), priority_queue(priority_queue&&), operator=(priority_queue&&)): Remove, per CH 15. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163231 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-134-10/+10
| | | | | | | | | | | | | | | * src/ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros, removed by mistake. * include/tr1_impl/boost_sp_counted_base.h: Likewise. * include/ext/rc_string_base.h: Likewise. * include/bits/locale_classes.h: Likewise. * include/bits/basic_string.h: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/c++config: Adjust comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163223 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-12 Kostya Serebryany <kcc@google.com>paolo2010-08-124-5/+55
| | | | | | | | | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> * include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add. * src/ios_init.cc (ios_base::Init::~Init): Decorate with the latter. * include/tr1_impl/boost_sp_counted_base.h: Likewise. * include/ext/rc_string_base.h: Likewise. * include/bits/locale_classes.h: Likewise. * include/bits/basic_string.h: Likewise. * include/bits/ios_base.h: Likewise. * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. * testsuite/ext/profile/mutex_extensions.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163210 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-112-8/+22
| | | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof. * include/bits/forward_list.tcc (forward_list<>::remove): Deal correctly with &__tmp->_M_value == &__val. * testsuite/23_containers/forward_list/operations/remove_freed.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163178 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-112-2/+2
| | | | | | | | | | | | | * include/bits/stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121). * include/bits/algorithmfwd.h: Adjust. * testsuite/25_algorithms/shuffle/requirements/ explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/shuffle/requirements/ explicit_instantiation/pod.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163102 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-111-10/+23
| | | | | | | * include/bits/move.h (forward): Reinstate the N2835 version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-113-1/+61
| | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/42925 * include/bits/unique_ptr.h (operator==(const unique_ptr<>&, nullptr_t), operator==(nullptr_t, const unique_ptr<>&), operator!=(const unique_ptr<>&, nullptr_t), operator!=(nullptr_t, const unique_ptr<>&)): Add. * include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&, nullptr_t), operator==(nullptr_t, const __shared_ptr<>&), operator!=(const __shared_ptr<>&, nullptr_t), operator!=(nullptr_t, const __shared_ptr<>&)): Likewise. * include/bits/shared_ptr.h (operator==(const shared_ptr<>&, nullptr_t), operator==(nullptr_t, const shared_ptr<>&), operator!=(const shared_ptr<>&, nullptr_t), operator!=(nullptr_t, const shared_ptr<>&)): Likewise. * testsuite/20_util/unique_ptr/comparison/42925.cc: New. * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163094 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-111-55/+55
| | | | | | | | * include/bits/unique_ptr.h: Replace _Tp_Deleter -> _Dp, and _Up_Deleter -> _Ep. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-10 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-101-7/+3
| | | | | | | | | | | * include/bits/shared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_ConvertibleConcept...). * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line number. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163075 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-10 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-103-13/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Avoid -Wall warnings. * include/bits/shared_ptr.h (shared_ptr<>::shared_ptr (const shared_ptr<>&), shared_ptr(shared_ptr<>&&), weak_ptr<>:: weak_ptr(const weak_ptr<>&), weak_ptr(const shared_ptr<>&)): Constrain appropriately via std::is_convertible, etc. * include/bits/shared_ptr_base.h: Likewise. * include/bits/unique_ptr.h (default_delete<>:: default_delete(const default_delete<>&), unique_ptr<>::unique_ptr(unique_ptr<>&&), operator=(unique_ptr<>&&)): Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/shared_ptr/cons/43820.cc: Likewise. * include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(auto_ptr<>&&)): Add. * include/std/memory: Adjust includes order. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: New. * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Minor tweaks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163053 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-08 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-081-3/+25
| | | | | | | | | | | | | | | | | PR libstdc++/44963 * include/bits/stl_iterator.h (insert_iterator<>:: operator=(const typename _Container::value_type&, back_insert_iterator<>:: operator=(const typename _Container::value_type&), front_insert_iterator<>:: operator=(const typename _Container::value_type&))): Add in C++0x mode. * testsuite/ext/rope/44963.cc: New. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163001 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-05 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-08-0512-52/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/move.h (forward): Update to N3092. (identity): Remove (US 92 is NAD). * include/debug/set.h: Fix move constructor to simply use move. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/vector: Likewise. * include/debug/unordered_set: Likewise. * include/debug/deque: Likewise. * include/debug/map.h: Likewise. * include/debug/string: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * include/profile/set.h: Likewise. * include/profile/unordered_map: Likewise. * include/profile/multiset.h: Likewise. * include/profile/unordered_set: Likewise. * include/profile/vector: Likewise. * include/profile/deque: Likewise. * include/profile/map.h: Likewise. * include/profile/list: Likewise. * include/profile/multimap.h: Likewise. * include/ext/vstring.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/forward_list.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/bits/stl_bvector.h: Likewise. * testsuite/20_util/identity/value.cc: Remove * testsuite/20_util/identity/requirements/typedefs.cc: Likewise. * testsuite/20_util/identity/requirements/explicit_instantiation.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162898 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-07-271-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/ext/vstring_util.h: Include bits/range_access.h. * testsuite/ext/vstring/range_access.cc: New test. 2010-07-27 Ed Smith-Rowland <3dw4rd@verizon.net> * include/bits/range_access.h: New. * include/Makefile.in: Add bits/range_access.h. * include/Makefile.am: Regenerate. * include/std/array: Include bits/range_access.h. * include/std/deque: Ditto. * include/std/forward_list: Ditto. * include/std/iterator: Ditto. * include/std/list: Ditto. * include/std/map: Ditto. * include/std/regex: Ditto. * include/std/set: Ditto. * include/std/string: Ditto. * include/std/unordered_map: Ditto. * include/std/unordered_set: Ditto. * include/std/vector: Ditto. * include/std/valarray: Add begin() and end(). * libsupc++/initializer_list: Ditto. * include/tr1_impl/utility: Add begin() and end(). * include/std/tuple: Ditto. * testsuite/24_iterators/headers/iterator/range_access.cc: New test. * testsuite/24_iterators/range_access.cc: Ditto. * testsuite/28_regex/range_access.cc: Ditto. * testsuite/18_support/initializer_list/range_access.cc: Ditto. * testsuite/21_strings/basic_string/range_access.cc: Ditto. * testsuite/26_numerics/valarray/range_access.cc: Ditto. * testsuite/23_containers/unordered_map/range_access.cc: Ditto. * testsuite/23_containers/multimap/range_access.cc: Ditto. * testsuite/23_containers/set/range_access.cc: Ditto. * testsuite/23_containers/unordered_multimap/range_access.cc: Ditto. * testsuite/23_containers/forward_list/range_access.cc: Ditto. * testsuite/23_containers/unordered_set/range_access.cc: Ditto. * testsuite/23_containers/vector/range_access.cc: Ditto. * testsuite/23_containers/deque/range_access.cc: Ditto. * testsuite/23_containers/multiset/range_access.cc: Ditto. * testsuite/23_containers/list/range_access.cc: Ditto. * testsuite/23_containers/unordered_multiset/range_access.cc: Ditto. * testsuite/23_containers/map/range_access.cc: Ditto. * testsuite/23_containers/array/range_access.cc: Ditto. * testsuite/20_util/tuple/range_access.cc: Ditto. * testsuite/20_util/pair/range_access.cc: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162578 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-07-272-25/+4
| | | | | | | | | | | | | | | | | | | | | | | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove. ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually compute the constants via AC_COMPUTE_INT. * configure.ac: Call the latter. * include/bits/ios_base.h: Adjust. * include/bits/char_traits.h: Likewise. * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. * config.h.in: Regenerate. * configure: Likewise. 2010-07-27 Paolo Carlini <paolo.carlini@oracle.com> * config/io/c_io_stdio.h: Do not include <cstddef>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162562 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-25 Jonathan Wakely <jwakely.gcc@gmail.com>redi2010-07-251-2/+2
| | | | | | | | | | PR libstdc++/45060 * include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)): Reorder mem-initializers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162515 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-08 Benjamin Kosnik <bkoz@redhat.com>bkoz2010-07-085-12/+12
| | | | | | | | | | | | | | | | | | * include/bits/stl_heap.h: Update markup. * include/bits/move.h: Same. * include/bits/algorithmfwd.h: Same. * include/bits/regex.h: Same. * include/bits/random.h: Same. * doc/doxygen/doxygroups.cc: Same. * doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from input file list. * doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated pdf in location consistent with docbook pdf generation. * doc/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161970 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-03 Jonathan Wakely <jwakely.gcc@gmail.com>redi2010-07-036-6/+6
| | | | | | | | | | | | | * include/bits/regex_compiler.h: Fix filename in doxygen comment. * include/bits/regex_constants.h: Likewise. * include/bits/regex_error.h: Likewise. * include/bits/regex_grep_matcher.h: Likewise. * include/bits/regex_grep_matcher.tcc: Likewise. * include/bits/regex_nfa.tcc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161773 138bc75d-0d04-0410-961f-82ee72b054a4
* Enable implicitly declared move constructor/operator= (N3053).jason2010-06-302-0/+28
| | | | | | | | | | | | | | | | | | | | | | gcc/cp/ * class.c (add_implicitly_declared_members): A class with no explicitly declared copy or move constructor gets both declared implicitly, and similarly for operator=. (check_bases): A type with no copy ctor does not inhibit a const copy ctor in a derived class. (check_field_decl): Likewise. (check_bases_and_members): A nonexistent copy ctor/op= is non-trivial. * tree.c (type_has_nontrivial_copy_init): Adjust semantics. (trivially_copyable_p): Likewise. * call.c (convert_like_real): Use type_has_nontrivial_copy_init. * class.c (finish_struct_bits): Likewise. * tree.c (build_target_expr_with_type): Likewise. * typeck2.c (store_init_value): Likewise. libstdc++-v3/ * include/bits/unordered_map.h: Explicitly default copy constructors. * include/bits/unordered_set.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161582 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-06-274-505/+508
| | | | | | | | | | * include/bits/regex_compiler.h: Trivial formatting / stylistic fixes. * include/bits/regex_grep_matcher.tcc: Likewise. * include/bits/regex_cursor.h: Likewise. * include/bits/regex.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161462 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-25 Stephen M. Webb <stephen.webb@bregmasoft.ca>smw2010-06-259-0/+4972
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial regex implementation. * include/std/regex: Modified to use bits/regex_* headers. * include/bits/regex_compiler.h: New file. * include/bits/regex_constants.h: New file. * include/bits/regex_cursor.h: New file. * include/bits/regex_error.h: New file. * include/bits/regex_grep_matcher.h: New file. * include/bits/regex_grep_matcher.tcc: New file. * include/bits/regex.h: New file. * include/bits/regex_nfa.h: New file. * include/bits/regex_nfa.tcc: New file. * include/Makefile.am: Added above new files. * include/Makefile.in: Regenerated. * testsuite/28_regex/02_definitions: New file. * testsuite/28_regex/03_requirements: New file. * testsuite/28_regex/03_requirements/typedefs.cc: New file. * testsuite/28_regex/04_header: New file. * testsuite/28_regex/04_header/regex: New file. * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file. * testsuite/28_regex/05_constants: New file. * testsuite/28_regex/05_constants/error_type.cc: New file. * testsuite/28_regex/05_constants/match_flag_type.cc: New file. * testsuite/28_regex/05_constants/syntax_option_type.cc: New file. * testsuite/28_regex/06_exception_type: New file. * testsuite/28_regex/06_exception_type/regex_error.cc: New file. * testsuite/28_regex/07_traits: New file. * testsuite/28_regex/07_traits/char: New file. * testsuite/28_regex/07_traits/char/ctor.cc: New file. * testsuite/28_regex/07_traits/char/isctype.cc: New file. * testsuite/28_regex/07_traits/char/length.cc: New file. * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file. * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file. * testsuite/28_regex/07_traits/char/transform.cc: New file. * testsuite/28_regex/07_traits/char/transform_primary.cc: New file. * testsuite/28_regex/07_traits/char/translate.cc: New file. * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file. * testsuite/28_regex/07_traits/char/value.cc: New file. * testsuite/28_regex/07_traits/wchar_t: New file. * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file. * testsuite/28_regex/07_traits/wchar_t/length.cc: New file. * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file. * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file. * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file. * testsuite/28_regex/07_traits/wchar_t/value.cc: New file. * testsuite/28_regex/08_basic_regex: New file. * testsuite/28_regex/08_basic_regex/assign: New file. * testsuite/28_regex/08_basic_regex/assign/char: New file. * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file. * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file. * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file. * testsuite/28_regex/08_basic_regex/ctors: New file. * testsuite/28_regex/08_basic_regex/ctors/basic: New file. * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char: New file. * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/extended: New file. * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file. * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file. * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file. * testsuite/28_regex/08_basic_regex/regex.cc: New file. * testsuite/28_regex/09_sub_match: New file. * testsuite/28_regex/09_sub_match/cast_char.cc: New file. * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file. * testsuite/28_regex/09_sub_match/length.cc: New file. * testsuite/28_regex/09_sub_match/typedefs.cc: New file. * testsuite/28_regex/10_match_results: New file. * testsuite/28_regex/10_match_results/ctors: New file. * testsuite/28_regex/10_match_results/ctors/char: New file. * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file. * testsuite/28_regex/10_match_results/ctors/wchar_t: New file. * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file. * testsuite/28_regex/10_match_results/typedefs.cc: New file. * testsuite/28_regex/11_algorithms: New file. * testsuite/28_regex/11_algorithms/02_match: New file. * testsuite/28_regex/11_algorithms/02_match/basic: New file. * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file. * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file. * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file. * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended: New file. * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file. * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file. * testsuite/28_regex/12_iterators: New file. * testsuite/28_regex/12_iterators/regex_iterator: New file. * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file. * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file. * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file. * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file. * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file. * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file. * testsuite/28_regex/12_iterators/regex_token_iterator: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file. * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file. * testsuite/28_regex/13_ecmascript: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161410 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-23 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-06-231-2/+2
| | | | | | | | * include/bits/stl_tree.h (erase(iterator), erase(const_iterator)): Remove inline specifier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161267 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-20 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-06-201-17/+51
| | | | | | | | | | Kai-Uwe Bux <bux@kubux.net> * include/bits/random.tcc (uniform_int_distribution<>::operator()): Fix to work well for arbitrary urng.max() and urng.min(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161054 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-06-188-22/+451
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/32618 * include/bits/stl_list.h (vector<>::_M_default_initialize, _M_default_append): Declare. (list<>::list(size_type), resize(size_type)): Add in C++0x mode, use the latter. * include/bits/list.tcc (list<>::resize, _M_default_append): Define. * include/bits/stl_vector.h (vector<>::_M_default_initialize, _M_default_append): Declare. (vector<>::vector(size_type), resize(size_type)): Add in C++0x mode, use the latter. * include/bits/vector.tcc (vector<>::_M_default_append): Define. * include/bits/stl_deque.h (deque<>::_M_default_initialize, _M_default_append): Declare. (deque<>::deque(size_type), resize(size_type)): Add in C++0x mode, use the latter. * include/bits/deque.tcc (deque<>::_M_default_append): Define. * include/debug/vector: Update. * include/debug/deque: Likewise. * include/debug/list: Likewise. * include/profile/vector: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/bits/forward_list.h (_M_default_initialize, _M_default_insert_after): Declare. (forward_list<>::forward_list(size_type), resize(size_type)): Fix, use the latter. * include/bits/forward_list.tcc (forward_list<>::_M_default_append, _M_default_insert_after): Define. * testsuite/util/testsuite_api.h (NonCopyConstructible): Add. * testsuite/23_containers/forward_list/modifiers/6.cc: Move to... * testsuite/23_containers/forward_list/capacity/resize_size.cc: ... here. * testsuite/23_containers/forward_list/cons/10.cc: Move to... * testsuite/23_containers/forward_list/cons/cons_size.cc: ... here. * testsuite/23_containers/vector/resize/1.cc: Move to... * testsuite/23_containers/vector/capacity/resize/1.cc: ... here. * testsuite/23_containers/vector/resize/moveable.cc: Move to... * testsuite/23_containers/vector/resize/capacity/moveable.cc: ... here. * testsuite/23_containers/vector/cons/cons_size.cc: New. * testsuite/23_containers/vector/capacity/resize/resize_size.cc: Likewise. * testsuite/23_containers/deque/cons/cons_size.cc: Likewise. * testsuite/23_containers/deque/capacity/resize_size.cc: Likewise. * testsuite/23_containers/list/cons/cons_size.cc: Likewise. * testsuite/23_containers/list/capacity/resize_size.cc: Likewise. * testsuite/23_containers/vector/capacity/resize/moveable.cc: Adjust. * testsuite/23_containers/deque/capacity/moveable.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line numbers. * 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/vector/requirements/dr438/ assign_neg.cc: Likewise. * 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. * testsuite/23_containers/deque/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * 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/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@161009 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-17 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-06-173-31/+191
| | | | | | | | | | | | | | | | * include/bits/stl_uninitialized.h (__uninitialized_default, __uninitialized_default_n, __uninitialized_default_a, __uninitialized_default_n_a): Add. * include/bits/stl_uninitialized.h (uninitialized_copy, uninitialized_fill, uninitialized_fill_n): Use __is_trivial instead of __is_pod. * include/bits/valarray_array.h: Likewise. * include/bits/stl_algobase.h (__copy_move_backward_a, __copy_move_a): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160882 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud