aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-05-14 16:25:08 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-05-14 16:25:08 +0100
commit330b17474c618af0574c0b8e83a06287e53afe87 (patch)
tree1224a465498d4e2f0f682ff786b28def3273b5c6 /gcc/config.gcc
parent78c2855df612af45edb78426348296f43f2a8602 (diff)
downloadgcc-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