summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/std
Commit message (Collapse)AuthorAgeFilesLines
...
* 2010-01-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-01-311-49/+2
| | | | | | | | | Revert last changes. Also revert, among the previous changes: * include/std/condition_variable (condition_variable_any:: wait<>(_Lock&)): Provide definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156403 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-01-291-5/+46
| | | | | | | | | | | | | | | | | | * include/std/condition_variable (condition_variable_any:: __wait_until_impl): Add. (condition_variable_any::wait_until): Provide definitions. * testsuite/30_threads/condition_variable_any/members/2.cc: New. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Adjust dg-error line number. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Minor stylistic changes. * testsuite/30_threads/condition_variable/members/1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156367 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-01-291-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | * include/std/condition_variable (enum class cv_status): Add and use it throughout, per N3000. (condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate), wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)): Provide definitions. * src/condition_variable.cc (condition_variable_any::notify_one, condition_variable_any::notify_all): Likewise. * config/abi/pre/gnu.ver: Export. * testsuite/30_threads/condition_variable_any/requirements/ typedefs.cc: New. * testsuite/30_threads/condition_variable_any/requirements/ standard_layout.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Adjust. * testsuite/30_threads/condition_variable/members/2.cc: Likewise. * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust dg-error line numbers. * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-27 Richard Guenther <rguenther@suse.de>rguenth2010-01-271-3/+10
| | | | | | | | | | PR libstdc++/42832 * include/std/functional (function<>::swap): Perform bytewise swap of _M_functor. * include/tr1/functional (function<>::swap): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156290 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-26 Daniel Frey <d.frey@gmx.de>paolo2010-01-261-33/+17
| | | | | | | | | * include/std/functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h. (is_placeholder, is_bind_expression): Use integral_constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-22 Daniel Frey <d.frey@gmx.de>paolo2010-01-221-12/+12
| | | | | | | | * include/std/functional (_Index_tuple, _Build_index_tuple): Simplify and speed-up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156178 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>redi2010-01-211-236/+619
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/42201 * include/std/future: Update to latest WP. * src/functexcept.cc (__throw_future_error): Use make_error_code. * testsuite/30_threads/async/any.cc: New. * testsuite/30_threads/async/async.cc: New. * testsuite/30_threads/async/sync.cc: New. * testsuite/30_threads/packaged_task/cons/alloc.cc: New. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust. * testsuite/30_threads/packaged_task/members/get_future.cc: Adjust. * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust. * testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust. * testsuite/30_threads/packaged_task/members/reset.cc: Adjust. * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust. * testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove. * testsuite/30_threads/shared_future/cons/default_neg.cc: Remove. * testsuite/30_threads/shared_future/cons/default.cc: New. * testsuite/30_threads/shared_future/cons/assign.cc: New. * testsuite/30_threads/shared_future/cons/copy.cc: Adjust. * testsuite/30_threads/shared_future/cons/move.cc: Adjust. * testsuite/30_threads/shared_future/cons/move_assign.cc: New. * testsuite/30_threads/shared_future/members/is_ready.cc: Remove. * testsuite/30_threads/shared_future/members/has_value.cc: Remove. * testsuite/30_threads/shared_future/members/has_exception.cc: Remove. * testsuite/30_threads/shared_future/members/valid.cc: New. * testsuite/30_threads/unique_future/cons/default_neg.cc: Remove. * testsuite/30_threads/unique_future/cons/default.cc: New. * testsuite/30_threads/unique_future/cons/move_assign.cc: New. * testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust. * testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust. * testsuite/30_threads/unique_future/cons/move.cc: Adjust. * testsuite/30_threads/unique_future/requirements/ explicit_instantiation.cc: Adjust. * testsuite/30_threads/unique_future/members/is_ready.cc: Remove. * testsuite/30_threads/unique_future/members/has_value.cc: Remove. * testsuite/30_threads/unique_future/members/has_exception.cc: Remove. * testsuite/30_threads/unique_future/members/valid.cc: New. * testsuite/30_threads/unique_future/members/get.cc: Adjust. * testsuite/30_threads/unique_future/members/get2.cc: Adjust. * testsuite/30_threads/unique_future/members/wait.cc: Adjust. * testsuite/30_threads/unique_future/members/wait_for.cc: Adjust. * testsuite/30_threads/unique_future/members/wait_until.cc: Adjust. * testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust. * testsuite/30_threads/promise/cons/alloc.cc: New. * testsuite/30_threads/promise/cons/assign_neg.cc: Adjust. * testsuite/30_threads/promise/cons/copy_neg.cc: Adjust. * testsuite/30_threads/promise/cons/move.cc: Adjust. * testsuite/30_threads/promise/cons/move_assign.cc: Adjust. * testsuite/30_threads/promise/members/get_future.cc: Adjust. * testsuite/30_threads/promise/members/set_value.cc: Adjust. * testsuite/30_threads/promise/members/set_exception.cc: Adjust. * testsuite/30_threads/promise/members/set_exception2.cc: Adjust. * testsuite/30_threads/promise/members/set_value2.cc: Adjust. * testsuite/30_threads/promise/members/set_value3.cc: Adjust. * testsuite/30_threads/promise/members/swap.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156097 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-18 Daniel Frey <d.frey@gmx.de>paolo2010-01-181-32/+20
| | | | | | | | | * include/std/functional (_Bind<_Functor(_Bound_args...)>:: operator()): "Pass" _Result to __call*. (_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156007 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-16 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-01-171-95/+65
| | | | | | | | | | | | | | | | | * include/std/functional (_Bind<_Functor(_Bound_args...)>::__call): Rename const version to __call_c and remove _Sfinae template parameter. (_Bind<_Functor(_Bound_args...)>::operator()): Adjust. * include/std/functional: Pass everywhere temporary tuple<_Args...> arguments by rvalue reference. * testsuite/20_util/bind/cv_quals.cc: New. * testsuite/20_util/bind/ref2.cc: Add missing test variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155978 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-12 Jonathan Wakely <jwakely.gcc@gmail.com>redi2010-01-122-137/+122
| | | | | | | | | | | | | | | | | | | | | PR libstdc++/24803 PR libstdc++/35569 PR libstdc++/42593 * include/std/functional (bind): Forward rvalues and detect correct result type of bound function object. * include/std/mutex (call_once): Specify bind result type. * testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests. * testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests and enable FIXME tests. * testsuite/20_util/bind/35569.cc: New. * testsuite/20_util/bind/ref2.cc: New. * testsuite/20_util/bind/38889.cc: New. * testsuite/20_util/bind/ref_neg.cc: New. * testsuite/20_util/bind/42593.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155826 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-311-0/+20
| | | | | | | | | | * include/std/bitset (bitset<>::bitset(unsigned long long), _Base_bitset<>::_Base_bitset(unsigned long long)): Add in C++0x mode. * testsuite/23_containers/bitset/cons/3.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155539 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-311-2/+2
| | | | | | | * include/std/type_traits: Fix minor stylistic nit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155537 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-311-76/+66
| | | | | | | | | | | | | | | | | | | * include/std/type_traits (__is_constructible_helper1): Rename to __is_constructible_helper1, tweaked to a specialization of __is_constructible_helper. (is_constructible): Adjust; minor formatting and stylistic changes throughout. * testsuite/util/testsuite_tr1.h (test_relationship): Change variadic version to an overload of test_property. * testsuite/20_util/is_constructible/value.cc: Adjust. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155536 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-301-1/+1
| | | | | | | * include/std/type_traits: Fix minor formatting nit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155530 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-30 Daniel Frey <d.frey@gmx.de>paolo2009-12-301-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> * include/std/type_traits (is_explicitly_convertible, is_constructible): Add. * testsuite/util/testsuite_tr1.h (ExplicitClass): Add. * testsuite/20_util/is_explicitly_convertible/value.cc: New. * testsuite/20_util/is_constructible/value.cc: Likewise. 2009-12-30 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_tr1.h (test_relationship): Add variadic version. * testsuite/20_util/is_explicitly_convertible/requirements/ typedefs.cc: New. * testsuite/20_util/is_explicitly_convertible/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_constructible/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_constructible/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Extend. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155529 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-291-0/+40
| | | | | | | | | | | * include/std/bitset (bitset<>::to_ullong, _M_do_to_ullong): Add. (_Base_bitset<>::_M_do_to_ullong): Add. * include/debug/bitset (bitset<>): Add using _Base::to_ullong. * include/profile/bitset (bitset<>): Likewise. * testsuite/23_containers/bitset/to_ullong/1.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155504 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-24 Edward Smith-Rowland <3dw4rd@verizon.net>paolo2009-12-241-0/+20
| | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> * include/std/bitset (bitset<>::bitset(const char*)): Add. 2009-12-24 Jonathan Wakely <jwakely.gcc@gmail.com> Edward Smith-Rowland <3dw4rd@verizon.net> * testsuite/23_containers/bitset/cons/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155458 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-24 Jonathan Wakely <jwakely.gcc@gmail.com>redi2009-12-241-14/+73
| | | | | | | | | * include/std/functional (bind): Avoid invalid instantiations for bind<void>. * testsuite/20_util/bind/conv_result.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155457 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>paolo2009-12-221-2/+2
| | | | | | | | * include/std/mutex (call_once(once_flag&, _Callable, _Args&&...)): Explicitly qualify with std:: bind calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155397 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-20 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-12-212-1/+832
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/std/atomic: Update to N3000. * include/bits/atomic_0.h: Same. * include/bits/atomic_2.h: Same. * include/c_global/cstdatomic: Move... * include/bits/atomic_base.h: ...here. * include/c_compatibility/stdatomic.h: Just include atomic_base.h. * include/precompiled/stdc++.h: Adjust includes. * include/Makefile.am: Adjust files. * include/Makefile.in: Regenerate. * include/std/future: Adjust. * src/atomic.cc: Adjust, adjust exports for compatibility. * src/compatibility.cc: Move C++0x stuff... * src/compatibility-c++0x.cc: ...here. * doc/xml/manual/using.xml: Update. * doc/xml/manual/status_cxx200x.xml: Update. * doc/doxygen/user.cfg.in: Update. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/single_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_address/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_address/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/single_value.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/default.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: Same. * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: Same. * testsuite/29_atomics/atomic_integral/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/ integral_assignment.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/increment.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: Same. * testsuite/29_atomics/atomic_integral/operators/decrement.cc: Same. * testsuite/29_atomics/atomic_integral/operators/ integral_conversion.cc: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_flag/clear/1.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/single_value.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/cons/copy_list.cc: Same. * testsuite/29_atomics/atomic/cons/direct_list.cc: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. * testsuite/29_atomics/atomic/requirements/base_classes.cc: Same. * testsuite/29_atomics/atomic/operators/integral_assignment.cc: Same. * testsuite/29_atomics/atomic/operators/integral_conversion.cc: Same. * testsuite/util/testsuite_common_types.h: Adjust. * testsuite/29_atomics/headers/cstdatomic: Move and adjust... * testsuite/29_atomics/headers/atomic: ...here. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/atomic/macros.cc: Same. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Add. * testsuite/29_atomics/atomic/cons/user_pod.cc: Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155377 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-181-12/+8
| | | | | | | | | | | | | | * include/std/condition_variable: Revert inadvertent changes. * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Ditto. * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Ditto. * testsuite/30_threads/condition_variable/members/1.cc: Ditto. * testsuite/30_threads/condition_variable/members/2.cc: Ditto. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Ditto. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155343 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-18 Jimmy Guo <jguo@yahoo-inc.com>paolo2009-12-181-8/+12
| | | | | | | | | PR libstdc++/40088 * src/locale_init.cc (locale::locale()): Optimize the common case where _S_global still points to _S_classic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155342 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>redi2009-12-151-38/+8
| | | | | | | | | | | | | | | | | | * include/std/future (unique_future::get, promise::set_value): Remove workaround for c++/34022. (packaged_task::get_future, packaged_task::operator()): Use __throw_bad_function_call. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise. * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise. * testsuite/30_threads/promise/cons/copy_neg.cc: Likewise. * testsuite/30_threads/shared_future/cons/assign_neg.cc: Likewise. * testsuite/30_threads/unique_future/cons/assign_neg.cc: Likewise. * testsuite/30_threads/unique_future/cons/copy_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155269 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>redi2009-12-151-19/+14
| | | | | | | | | | | | | | * include/std/functional (function::function): Move construct target. (function::operator=): Use perfect forwarding for argument. (function::operator()): Use new __throw_bad_function_call. * include/bits/functexcept.h (__throw_bad_function_call): Declare. * src/functexcept.cc (__throw_bad_function_call): Define. * config/abi/pre/gnu.ver: Add new symbol. * testsuite/20_util/function/cons/move_target.cc: New. * testsuite/20_util/function/assign/move_target.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155261 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-12-111-1/+0
| | | | | | | | | | | PR libstdc++/22634, DR 539 [Ready] * include/bits/stl_numeric.h (adjacent_difference): Use std::move at the end of the loop body, per the Ready resolution. * include/std/numeric: Do not include unnecessarily <cstddef>. * doc/xml/manual/intro.xml: Add an entry for DR 539. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155173 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-11-301-22/+2139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/tr1_impl/functional: Remove file, copy its contents, trivially adjusted... * include/std/functional: ... here, and... * include/tr1_impl/functional: ... here. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. 2009-11-30 Jonathan Wakely <jwakely.gcc@gmail.com> * include/tr1_impl/functional (function): Add rvalue support and tweak doxygen markup. * testsuite/20_util/function/assign/move.cc: New. * testsuite/20_util/function/cons/move.cc: New. * testsuite/20_util/function/invoke/move_only.cc: New. * testsuite/20_util/function/cmp/cmp_neg.cc: New. * testsuite/20_util/function/1.cc: Copy from testsuite/tr1/. * testsuite/20_util/function/2.cc: Likewise. * testsuite/20_util/function/3.cc: Likewise. * testsuite/20_util/function/4.cc: Likewise. * testsuite/20_util/function/5.cc: Likewise. * testsuite/20_util/function/6.cc: Likewise. * testsuite/20_util/function/7.cc: Likewise. * testsuite/20_util/function/8.cc: Likewise. * testsuite/20_util/function/9.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154759 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-19 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-11-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154335 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-11-131-1/+2
| | | | | | | | | * include/std/algorithm: Include <utility>, per UK-300. * include/bits/stl_algobase.h: Don't do it here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154152 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-11-131-20/+25
| | | | | | | | | | | | | | | | | | * include/std/type_traits (declval): Add, per DR 1255. (__is_convertible_helper, common_type): Use it. * include/bits/move.h: Mention std::declval. * testsuite/20_util/declval/requirements/1.cc: New. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. * testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/common_type/requirements/ explicit_instantiation.cc: Extend. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154140 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-06 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-11-067-74/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Adjust includes. * doc/doxygen/doxygroups.cc: Move group markup. * include/tr1_impl/regex: Change " to '. Add group markup. * include/std/utility: Same. * include/std/type_traits: Same. * include/std/streambuf: Same. * include/std/iosfwd: Same. * include/std/limits: Same. * include/std/sstream: Same. * include/profile/impl/profiler_state.h: Same. * include/profile/impl/profiler_hashtable_size.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/stream_iterator.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/stl_tempbuf.h: Same. * include/bits/streambuf_iterator.h: Same. * libsupc++/exception: Same. * libsupc++/cxxabi.h: Same. * include/tr1_impl/type_traits: Same. * include/parallel/multiway_merge.h: Change @__c to @c, @__f to @f. * include/parallel/list_partition.h: Same. * include/parallel/for_each.h: Same. * include/parallel/workstealing.h: Same. * include/parallel/base.h: Same. * include/parallel/equally_split.h: Same. * include/parallel/random_shuffle.h: Same. * include/parallel/balanced_quicksort.h: Same. * include/parallel/merge.h: Same. * include/parallel/multiway_mergesort.h: Same. * include/parallel/compatibility.h: Same. * include/parallel/queue.h: Same. * include/parallel/checkers.h: Same. * include/parallel/random_number.h: Same. * include/c_global/csignal: Change # to \#. * include/c_global/cstdlib: Same. * include/c_global/cstdio: Same. * include/c_global/cstdarg: Same. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cstdatomic: Same. * include/c_global/cmath: Same. * include/c_global/ciso646: Same. * include/c_global/ctime: Same. * include/c_global/clocale: Same. * include/c_global/climits: Same. * include/c_global/cassert: Same. * include/c_global/csetjmp: Same. * include/c_global/cwchar: Same. * include/c_global/cfloat: Same. * include/c_global/cstring: Same. * include/c_global/cstddef: Same. * include/c_global/cwctype: Same. * include/std/memory: Only dance around boost_sp_counted_base.h. * include/tr1_impl/boost_sp_counted_base.h: Add markup. * include/tr1/shared_ptr.h: Strip markup. * include/bits/shared_ptr.h: Move base types... * include/bits/shared_ptr_base.h: ...here. * include/Makefile.am: Add. * include/Makefile.in: Regenerate. * configure: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153980 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>redi2009-11-061-2/+2
| | | | | | | | | PR libstdc++/41949 * include/std/ostream: Adjust link. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153961 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-02 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-11-031-328/+372
| | | | | | | | | | | | | | | | | | | | | | * include/std/future: Use base class with nested types. (__future_base): New. (__future_base::_Result_base): From _Future_result_base. (__future_base::_Result): From _Future_result. (__future_base::_Move_result): From _Move_future_result. (__future_base::_Ptr): From _Future_ptr. (__future_base::_State): From _Future_state. (__basic_future): From _Future_impl. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust line numbers. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same. * testsuite/30_threads/shared_future/cons/assign_neg.cc: Same. * testsuite/30_threads/unique_future/cons/assign_neg.cc: Same. * testsuite/30_threads/unique_future/cons/copy_neg.cc: Same. * testsuite/30_threads/promise/cons/assign_neg.cc: Same. * testsuite/30_threads/promise/cons/copy_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153834 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-11-011-33/+38
| | | | | | | | | | | | | | | | | | | | | | * include/std/chrono (struct __common_rep_type): New. (duration_cast(const duration<>&), duration<>::duration(const _Rep2&), duration<>::duration(const duration<>&), operator*(const duration<>&, const _Rep2&), operator*(const _Rep1&, const duration<>&), operator/(const duration<>&, const _Rep2&), time_point_cast(const time_point<>&)): Implement resolution of DR 1177 ([Ready] in Santa Cruz), change to not participate to overload resolution if the constraints are not met. * testsuite/20_util/duration/cons/1_neg.cc: Adjust dg-errors. * testsuite/20_util/duration/cons/dr974.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust dg-error line numbers. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153787 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-10-301-18/+10
| | | | | | | | | | | | * include/std/type_traits (__is_convertible_simple): Remove. (__is_convertible_helper): Adjust. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153743 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-10-291-21/+5
| | | | | | | | | | | | | | | | | * include/std/type_traits (__is_int_or_cref): Remove. (__is_convertible_helper): Fix per C++0x and simplify (the hack to suppress warnings isn't necessary anymore). * testsuite/20_util/is_convertible/requirements/typedefs.cc: New. * testsuite/20_util/is_convertible/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153728 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-26 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-10-271-1/+2
| | | | | | | | | * include/std/chrono (duration<>::duration(const duration<>&)): Fix per the straightforward resolution of DR 974. * testsuite/20_util/duration/cons/dr974.cc: Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153581 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/38796, Core issue 906jason2009-10-262-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | gcc/cp * cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New. (DECL_DEFAULTED_IN_CLASS_P): New. * class.c (user_provided_p): Non-static. (check_methods): Use it. (check_bases_and_members): Check defaulted fns. (defaultable_fn_p): Move and rename to... * method.c (defaultable_fn_check): ...this. (defaulted_late_check): New. * pt.c (tsubst_decl): Call it. * decl2.c (grokfield): Adjust. * decl.c (cp_finish_decl): Adjust. (grok_special_member_properties): Use user_provided_p. libstdc++-v3 * include/std/future (~Future_result_base): Default outside class body. * include/std/system_error (error_category()): Likewise. * libsupc++/nested_exception.h (nested_exception): Remove exception specifications from defaulted methods. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153565 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-15 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-10-161-1/+1
| | | | | | | | | | | | | | | | | PR libstdc++/40654 PR libstdc++/40826 * src/atomic.cc (atomic_flag_test_and_set_explicit): Add static_cast from base to derived. (atomic_flag_clear_explicit): Same. * include/bits/atomic_2.h (__atomic2::atomic_flag): Public derivation. Remove value type constructor. * include/bits/atomic_0.h (__atomic0::atomic_flag): Same. * include/std/future (_Future_state): Use ATOMIC_FLAG_INIT to initialized the atomic_flag member. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152895 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-10-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/random.h (class linear_congruential_engine, class mersenne_twister_engine, class subtract_with_carry_engine, class discard_block_engine, class independent_bits_engine, class shuffle_order_engine, class uniform_int_distribution, class binomial_distribution, class geometric_distribution, class negative_binomial_distribution, class poisson_distribution, class discrete_distribution): Do not use simulated concept checks, tidy startic_asserts on argument types and ranges. (class uniform_real_distribution, class normal_distribution, class lognormal_distribution, class gamma_distribution, class chi_squared_distribution, class cauchy_distribution, class fisher_f_distribution, class student_t_distribution, class exponential_distribution, class weibull_distribution, class extreme_value_distribution, class piecewise_linear_distribution, class piecewise_constant_distribution): Add static_assert on template argument type. * include/std/random: Do not include <bits/concept_check.h>. * testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc: Fix. * testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/default.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/requirements/ typedefs.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ requirements/non_uint_neg.cc: Tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152682 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-05 John Bytheway <jbytheway@gmail.com>paolo2009-10-051-2/+1
| | | | | | | | | | PR libstdc++/41530 * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Fix to just move. * testsuite/20_util/tuple/cons/41530.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152461 138bc75d-0d04-0410-961f-82ee72b054a4
* merge branch profile-stdlibrus2009-10-038-3/+34
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152431 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-08-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-08-111-6/+6
| | | | | | | | | | | | * include/std/future: Move error handling bits outside macro guard. * src/future.cc: Adjust. * include/precompiled/stdc++.h: Add future. * doc/xml/manual/using.xml: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150642 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-08-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-08-101-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | * include/std/future: Fixes for -fno-exceptions. * include/bits/functexcept.h: Same. * libsupc++/exception_ptr.h: Same. * src/pool_allocator.cc: Same. * src/future.cc: Same. * src/functexcept.cc: Same. * config/abi/pre/gnu.ver: New exports. * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust. * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same. * testsuite/30_threads/unique_future/cons/assign_neg.cc: Same. * testsuite/30_threads/unique_future/cons/copy_neg.cc: Same. * testsuite/30_threads/shared_future/cons/assign_neg.cc: Same. * testsuite/30_threads/promise/cons/assign_neg.cc: Same. * testsuite/30_threads/promise/cons/copy_neg.cc: Same. * testsuite/23_containers/deque/operators/1.cc: Separate in two... * testsuite/23_containers/deque/operators/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150633 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-08-03 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-08-032-12/+6
| | | | | | | | | | | * include/std/istream (operator>>(basic_istream<>&&, _Tp&)): Minor cosmetic changes, inline. * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&)): Likewise. * include/bits/move.h: Minor cosmetic changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150387 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (convert_class_to_reference): Binding an lvalue to anjason2009-08-012-0/+42
| | | | | | | | | | | | | | | | | | | | rvalue reference is bad. If the user-defined conversion is bad, set bad_p before merging conversions. (maybe_handle_ref_bind): Don't push down bad_p. (reference_binding): Binding an lvalue to an rvalue reference is bad. (convert_like_real): Give a helpful error about binding lvalue to rvalue reference. (reference_related_p): No longer static. * typeck.c (build_typed_address): New. (build_static_cast_1): Add static_cast from lvalue to &&. * cp-tree.h: Adjust. * include/bits/move.h (forward): Implement as in N2835. (move): Implement as in N2831. * include/std/istream (rvalue stream operator>>): New. * include/std/ostream (rvalue stream operator<<): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150327 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/forward_list.h (splice_after): Use forward.jason2009-08-012-8/+10
| | | | | | | | | | | (merge): Likewise. * include/bits/stl_iterator.h (move_iterator::operator*): Use move. (move_iterator::operator[]): Use move. * include/bits/stl_list.h (insert): Use move. * include/std/thread (_Callable constructor): Use forward. * include/std/tuple: Don't specify explicit template args to move. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150326 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-07-311-0/+6
| | | | | | | | | PR libstdc++/40912 (partial) * include/std/random: Disable the facility if <stdint.h> is not available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150312 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-22 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-07-221-6/+35
| | | | | | | | | | | | * include/std/valarray (valarray<>::operator=(const valarray<>&), valarray<>::operator=(initializer_list<>)): Implement resolution of DR 630, [Ready] in Frankfurt. * testsuite/26_numerics/valarray/dr630-1.cc: New. * testsuite/26_numerics/valarray/dr630-2.cc: Likewise. * doc/xml/manual/intro.xml: Add an entry for DR 630. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149929 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-21 Paolo Carlini <paolo.carlini@oracle.com>paolo2009-07-211-42/+64
| | | | | | | | | | | | * include/std/chrono (duration<>::operator%=, operator%): Add, per DR 934. * testsuite/20_util/duration/arithmetic/dr934-1.cc: New. * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise. * include/std/chrono (operator/): Simplify implementation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149856 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/37907jason2009-07-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Support std::is_standard_layout and std::is_trivial traits, change POD to C++0x version (except for layout). * gcc/c-common.c (c_common_reswords): Add __is_standard_layout and __is_trivial. * gcc/c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL. * gcc/cp/cp-tree.h (enum cp_trait_kind): Add CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (struct lang_type_class): Add non_std_layout. (CLASSTYPE_NON_STD_LAYOUT): New. * gcc/cp/class.c (check_bases): Set it. (check_field_decls): Likewise. (check_bases_and_members): Likewise. * gcc/cp/parser.c (cp_parser_primary_expression): Handle RID_IS_STD_LAYOUT, RID_IS_TRIVIAL. (cp_parser_trait_expr): Likewise. * gcc/cp/semantics.c (trait_expr_value): Handle CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (finish_trait_expr): Likewise. * gcc/cp/tree.c (scalarish_type_p, trivial_type_p, std_layout_type_p): New. (pod_type_p): Use them. * gcc/cp/typeck.c (build_class_member_access_expr): Check CLASSTYPE_NON_STD_LAYOUT rather than CLASSTYPE_NON_POD_P. * libstdc++-v3/include/std/type_traits: Add is_standard_layout, is_trivial. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149721 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud