Jonathan Wakely
0dcc5c98ec
re PR libstdc++/46951 (30_threads/future/members/45133.cc failed)
...
2010-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/46951
* testsuite/30_threads/future/members/45133.cc: Fix dg-options.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
From-SVN: r167839
2010-12-15 02:07:07 +00:00
Jonathan Wakely
5262c72ad4
re PR libstdc++/45133 ([c++0x] std::future will crash with NULL deref if get() is called twice)
...
2010-12-14 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45133
* include/std/future (__basic_future::wait): Throw if not valid.
(__basic_future::wait_for): Likewise.
(__basic_future::wait_until): Likewise.
(__basic_future::_M_get_result): Likewise.
* testsuite/30_threads/future/members/45133.cc: New.
* testsuite/30_threads/shared_future/members/45133.cc: New.
From-SVN: r167823
2010-12-14 23:27:17 +00:00
Paolo Carlini
3f61a98253
constexpr.cc: Add dg-require* directives.
...
2010-11-24 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/future/cons/constexpr.cc: Add dg-require*
directives.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
From-SVN: r167109
2010-11-24 10:08:49 +00:00
Benjamin Kosnik
85db9dcc30
chrono: Constexpr markup for is_monotonic.
...
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
* include/std/chrono: Constexpr markup for is_monotonic.
* src/chrono.cc: Same.
* testsuite/20_util/clocks/1.cc: Move...
* testsuite/20_util/system_clock/1.cc: ...here.
* testsuite/20_util/system_clock/constexpr_data.cc
* testsuite/20_util/monotonic_clock/constexpr_data.cc
* include/std/complex: Mark primary template constexpr.
* testsuite/26_numerics/complex/cons/constexpr_primary.cc: Add.
* testsuite/26_numerics/complex/complex_value.cc: Move...
* testsuite/26_numerics/complex/dr387.cc: Move...
* testsuite/26_numerics/complex/value_operations/1.cc: ... here.
* testsuite/26_numerics/complex/value_operations/dr387.cc: ...here.
* testsuite/26_numerics/complex/value_operations/constexpr.cc: New.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
Jason Merrill <jason@redhat.com>
* testsuite/lib/libstdc++.exp: Use scanasm.
* testsuite/util/testsuite_common_types.h
(constexpr_default_constructible): Add support for non-literal types.
(constexpr_single_value_constructible): Same.
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc:
Remove xfail.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Add.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line number.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future (shared_future): Default ctor constexpr.
(future): Same.
* testsuite/30_threads/shared_future/cons/constexpr.cc: New.
* testsuite/30_threads/future/cons/constexpr.cc: New.
Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r167099
2010-11-23 23:47:44 +00:00
Jonathan Wakely
9908949ca6
wait.cc (wait): Rename.
...
2010-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/30_threads/future/members/wait.cc (wait): Rename.
* testsuite/30_threads/shared_future/members/wait.cc (wait): Likewise.
From-SVN: r159593
2010-05-19 19:48:48 +01:00
Jonathan Wakely
b3eed6fe78
re PR libstdc++/42201 ([C++0x] std::vector<std::unique_future<T>>::push_back fails)
...
2010-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
From-SVN: r156097
2010-01-21 00:01:47 +00:00
Jonathan Wakely
abcd7e0847
future (unique_future::get, [...]): Remove workaround for c++/34022.
...
2009-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
* 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.
From-SVN: r155269
2009-12-15 20:17:27 +00:00
Benjamin Kosnik
c36abf0326
future: Use base class with nested types.
...
2009-11-02 Benjamin Kosnik <bkoz@redhat.com>
* 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.
From-SVN: r153834
2009-11-03 00:47:48 +00:00
Jason Merrill
20f2653ef0
PR c++/38796, Core issue 906
...
PR c++/38796, Core issue 906
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.
From-SVN: r153565
2009-10-26 15:07:14 -04:00
Benjamin Kosnik
8d1b99e26a
future: Fixes for -fno-exceptions.
...
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* 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.
From-SVN: r150633
2009-08-10 18:24:47 +00:00
Jason Merrill
4c65085391
forward_list.h (splice_after): Use forward.
...
* include/bits/forward_list.h (splice_after): Use forward.
(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.
From-SVN: r150326
2009-07-31 22:26:32 -04:00
Benjamin Kosnik
3259554a05
user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
...
2009-06-23 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
(INPUT): Add future.
* include/std/future: Adjust markup.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Adjust
line numbers.
* 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.
From-SVN: r148883
2009-06-23 23:24:20 +00:00
Jonathan Wakely
c910ceff6a
future: New.
...
2009-06-21 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* src/future.cc: New.
* src/Makefile.am: Add.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add export.
* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
* testsuite/30_threads/packaged_task/cons/1.cc: New.
* testsuite/30_threads/packaged_task/cons/2.cc: New.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
* testsuite/30_threads/packaged_task/cons/move.cc: New.
* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
* testsuite/30_threads/packaged_task/members/get_future.cc: New.
* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke.cc: New.
* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
* testsuite/30_threads/packaged_task/members/reset.cc: New.
* testsuite/30_threads/packaged_task/members/reset2.cc: New.
* testsuite/30_threads/packaged_task/members/swap.cc: New.
* testsuite/30_threads/packaged_task/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/promise/cons/1.cc: New.
* testsuite/30_threads/promise/cons/assign_neg.cc: New.
* testsuite/30_threads/promise/cons/copy_neg.cc: New.
* testsuite/30_threads/promise/cons/move_assign.cc: New.
* testsuite/30_threads/promise/cons/move.cc: New.
* testsuite/30_threads/promise/members/get_future.cc: New.
* testsuite/30_threads/promise/members/get_future2.cc: New.
* testsuite/30_threads/promise/members/set_exception.cc: New.
* testsuite/30_threads/promise/members/set_exception2.cc: New.
* testsuite/30_threads/promise/members/set_value.cc: New.
* testsuite/30_threads/promise/members/set_value2.cc: New.
* testsuite/30_threads/promise/members/set_value3.cc: New.
* testsuite/30_threads/promise/members/swap.cc: New.
* testsuite/30_threads/promise/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_future/cons/copy.cc: New.
* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
* testsuite/30_threads/shared_future/cons/move.cc: New.
* testsuite/30_threads/shared_future/members/get.cc: New.
* testsuite/30_threads/shared_future/members/get2.cc: New.
* testsuite/30_threads/shared_future/members/has_exception.cc: New.
* testsuite/30_threads/shared_future/members/has_value.cc: New.
* testsuite/30_threads/shared_future/members/is_ready.cc: New.
* testsuite/30_threads/shared_future/members/wait.cc: New.
* testsuite/30_threads/shared_future/members/wait_for.cc: New.
* testsuite/30_threads/shared_future/members/wait_until.cc: New.
* testsuite/30_threads/shared_future/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
* testsuite/30_threads/unique_future/cons/move.cc: New.
* testsuite/30_threads/unique_future/members/get.cc: New.
* testsuite/30_threads/unique_future/members/get2.cc: New.
* testsuite/30_threads/unique_future/members/has_exception.cc: New.
* testsuite/30_threads/unique_future/members/has_value.cc: New.
* testsuite/30_threads/unique_future/members/is_ready.cc: New.
* testsuite/30_threads/unique_future/members/wait.cc: New.
* testsuite/30_threads/unique_future/members/wait_for.cc: New.
* testsuite/30_threads/unique_future/members/wait_until.cc: New.
* testsuite/30_threads/unique_future/requirements/
explicit_instantiation.cc: New.
* testsuite/performance/30_threads/future/polling.cc: New.
From-SVN: r148765
2009-06-21 15:02:09 +01:00