mirror of git://gcc.gnu.org/git/gcc.git
10 Commits
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
dc2cf706b8 |
re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object)
2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> 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. From-SVN: r161009 |
|
|
|
882b3d5c2e |
[multiple changes]
2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/41792 * include/tr1_impl/array: Use std::__addressof. * include/std/functional (reference_wrapper): Likewise. * include/ext/throw_allocator.h: Likewise. * include/ext/pool_allocator.h: Likewise. * include/ext/bitmap_allocator.h: Likewise. * include/ext/new_allocator.h: Likewise. * include/ext/malloc_allocator.h: Likewise. * include/ext/array_allocator.h: Likewise. * include/ext/mt_allocator.h: Likewise. * include/ext/extptr_allocator.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/hashtable_policy.h: Likewise. * include/bits/forward_list.h: Likewise. * include/bits/stl_uninitialized.h: Likewise. * include/bits/list.tcc: Likewise. * include/bits/stl_construct.h: Likewise. * include/bits/stl_tree.h: Likewise. * testsuite/20_util/reference_wrapper/41792.cc: New. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/multimap/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/set/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/vector/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/deque/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/multiset/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/list/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/map/requirements/ explicit_instantiation/4.cc: Likewise. * testsuite/23_containers/array/requirements/ explicit_instantiation/3.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/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. 2010-05-20 Peter Dimov <pdimov@pdimov.com> Paolo Carlini <paolo.carlini@oracle.com> * include/bits/move.h (__addressof, addressof): Add. * testsuite/util/testsuite_api.h (struct OverloadedAddress): Add. * testsuite/20_util/addressof/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/addressof/1.cc: Likewise. From-SVN: r159643 |
|
|
|
4a85780b75 |
re PR libstdc++/41622 ([DR 1245] [c++0x] std::hash<std::string>::operator() copies its argument)
2009-11-19 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/41622 * include/bits/functional_hash.h: Implement inline the various std::hash specializations, using, when appropriate, pass by const ref too, per DR 1245. * include/tr1_impl/functional_hash.h: Remove, move its contents... * include/tr1/functional_hash.h: ... here. * include/std/functional: Tweak includes. * src/hash_c++0x: Rename to... * src/compatibility-c++0x.cc: ... this, implementing compatibility std::hash<>::operator() specializations. * src/hash.cc: Do not mark specializations as throw(). * src/Makefile.am: Adjust. * include/Makefile.am: Likewise. * src/Makefile.in: Regenerate. * include/Makefile.in: Likewise. * testsuite/util/testsuite_api.h: Define a dummy hash for NonDefaultConstructible. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/2.cc: Use it. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/2.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/2.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/2.cc: Likewise. From-SVN: r154335 |
|
|
|
748086b7b2 |
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841 |
|
|
|
6b3fb3441e |
testsuite_api.h (diamond_derivation<>::test): Expect ambiguity together with the standard exception classes.
2008-08-05 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_api.h (diamond_derivation<>::test): Expect ambiguity together with the standard exception classes. * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove xfail. * testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc: Likewise. * testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc: Likewise. * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc: Likewise. * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise. * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise. * testsuite/18_support/bad_exception/cons_virtual_derivation.cc: Likewise. * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc: Likewise. * testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc: Likewise. * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc: Likewise. * testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc: Likewise. * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: Likewise. From-SVN: r138737 |
|
|
|
fa52081d86 |
stl_numeric.h (iota): Add in C++0x mode.
2008-06-27 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_numeric.h (iota): Add in C++0x mode. * testsuite/util/testsuite_character.h (pod_int): Add operator++ in C++0x mode. * testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise. * testsuite/26_numerics/iota/1.cc: New. * testsuite/26_numerics/iota/requirements/explicit_instantiation/ 2.cc: Likewise. * testsuite/26_numerics/iota/requirements/explicit_instantiation/ pod.cc: Likewise. * include/ext/algorithm: Do not fiddle with the legacy headers. * testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments, style. * testsuite/26_numerics/accumulate/1.cc: Likewise. * testsuite/26_numerics/adjacent_difference/1.cc: Likewise. * testsuite/26_numerics/inner_product/1.cc: Likewise. From-SVN: r137174 |
|
|
|
04e8a79272 |
requirements/non_uint_neg.cc: Avoid -Wall warnings.
2007-12-10 Paolo Carlini <pcarlini@suse.de> * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ requirements/non_uint_neg.cc: Avoid -Wall warnings. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: Likewise. * testsuite/util/testsuite_api.h: Likewise. From-SVN: r130746 |
|
|
|
6116ca65dd |
Fixes for --disable-libstdcxx-pch.
2007-10-05 Benjamin Kosnik <bkoz@redhat.com> Fixes for --disable-libstdcxx-pch. * include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h. * include/ext/vstring_util.h: Include stl_iterator.h and numeric_traits.h. * include/tr1/functional: Include new. * testsuite/util/testsuite_api.h: Include exception. * testsuite/lib/libstdc++.exp (libstdc++_init): Set PCH_CXXFLAGS via cxxpchflags. * testsuite/25_algorithms/binary_search/requirements/ explicit_instantiation/2.cc: Same.: Fix includes. * testsuite/25_algorithms/count_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/equal_range/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_end/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_first_of/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/for_each/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/includes/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/inplace_merge/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/lexicographical_compare/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/lower_bound/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/make_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/max_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/max/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/merge/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/min_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/min/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/next_permutation/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/nth_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partial_sort_copy/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partial_sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partition/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/pop_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/prev_permutation/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/push_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/random_shuffle/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove_copy_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/replace_copy_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/replace_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/search_n/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/search/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_difference/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_intersection/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_symmetric_difference/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_union/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/sort_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/stable_partition/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/stable_sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/transform/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/unique_copy/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/unique/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/upper_bound/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove/requirements/ explicit_instantiation/pod.cc: Provide a hint to the compiler. From-SVN: r129049 |
|
|
|
4f99f3d0e5 |
stl_algo.h: Add return type information to comments.
2007-09-26 Benjamin Kosnik <bkoz@redhat.com> * include/bits/stl_algo.h: Add return type information to comments. * include/bits/algorithmfwd.h: Formatting. * testsuite/util/testsuite_hooks.h (NonDefaultConstructible): Move.. * testsuite/util/testsuite_api.h: ...here. Add necessary operators for use in testing chapters 25 and 26. * testsuite/util/testsuite_character.h: Same. * testsuite/25_algorithms/*/requirements/explicit_instantiation/ 2.cc, pod.cc: New. * testsuite/26_numerics/accumulate, adjacent_difference, inner_product, partial_sum/requirements/explicit_instantiation/2.cc, pod.cc: New. * testsuite/26_numerics/numeric_arrays/*: Move contents into testsuite/26_numerics. * testsuite/26_numerics/numeric_operations: Same. * testsuite/23_containers/*/requirements/explicit_instantiation/2.cc: Adjust includes from testsuite_eh.h to testsuite_api.h. Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com> From-SVN: r128822 |
|
|
|
0bb81a93ac |
testsuite_api.h: New.
2007-06-26 Benjamin Kosnik <bkoz@redhat.com> * testsuite/util/testsuite_api.h: New. * testsuite/27_io/ios_base/failure: Add. * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: New. * testsuite/27_io/ios_base/failure/what-1.cc: Same. * testsuite/27_io/ios_base/failure/what-2.cc: Same. * testsuite/27_io/ios_base/failure/what-big.cc: Same. * testsuite/27_io/ios_base/failure/what-3.cc: Same. * testsuite/19_diagnostics/logic_error/ cons_virtual_derivation.cc: Same. * testsuite/19_diagnostics/runtime_error/ cons_virtual_derivation.cc: Same. * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Same. * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Same. * testsuite/18_support/bad_exception/cons_virtual_derivation.cc: Same. * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc: Same. * testsuite/ext/concurrence_lock_error: New. * testsuite/ext/concurrence_lock_error/ cons_virtual_derivation.cc: Same. * testsuite/ext/forced_exception_error: New. * testsuite/ext/forced_exception_error/ cons_virtual_derivation.cc: Same. * testsuite/ext/concurrence_unlock_error: New. * testsuite/ext/concurrence_unlock_error/ cons_virtual_derivation.cc: Same. * testsuite/20_util/function_objects/bad_function_call: New. * testsuite/20_util/function_objects/bad_function_call/ cons_virtual_derivation.cc: Same. From-SVN: r126032 |