diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2019-05-14 16:25:08 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2019-05-14 16:25:08 +0100 |
commit | 330b17474c618af0574c0b8e83a06287e53afe87 (patch) | |
tree | 1224a465498d4e2f0f682ff786b28def3273b5c6 /gcc/config.gcc | |
parent | 78c2855df612af45edb78426348296f43f2a8602 (diff) | |
download | gcc-330b17474c618af0574c0b8e83a06287e53afe87.zip gcc-330b17474c618af0574c0b8e83a06287e53afe87.tar.gz gcc-330b17474c618af0574c0b8e83a06287e53afe87.tar.bz2 |
Use INVOKE<R> in std::function, std::bind and std::packaged_task
As well as simpifying the code by removing duplication, this means that
we only need to touch std::__invoke_r if we need to implement changes to
INVOKE<R>, such as those in P0932R0.
* include/bits/std_function.h (_Simple_type_wrapper): Remove.
(_Function_handler): Remove partial specializations for void return
types and pointers to member.
(_Function_handler::_M_manager): Adapt to removal of
_Simple_type_wrapper.
(_Function_handler::_M_invoke): Use __invoke_r instead of __invoke.
* include/std/functional (_Bind_result::__enable_if_void)
(_Bind_result::__disable_if_void): Remove sfinae helpers.
(_Bind_result::__call): Use __invoke_r and remove overloads for void
return types.
* include/std/future (__future_base::_Task_state::_M_run)
(__future_base::_Task_state::_M_run_delayed): Use __invoke_r and
change return type of lambda expressions.
From-SVN: r271174
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions