diff options
author | Eric Fiselier <eric@efcs.ca> | 2015-07-10 23:29:18 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2015-07-10 23:29:18 +0000 |
commit | 2d15f15f285fd0dee552ba7f91bb4daf244cbdf4 (patch) | |
tree | 3c86f9c36877b2faed12dc86cdd924a93744ab01 /libcxx/include/__functional_03 | |
parent | 12d528493eb7d75d4dba6a72853c1c0b61876325 (diff) | |
download | bcm5719-llvm-2d15f15f285fd0dee552ba7f91bb4daf244cbdf4.tar.gz bcm5719-llvm-2d15f15f285fd0dee552ba7f91bb4daf244cbdf4.zip |
[libcxx] LWG2420 bits for bind<void> - Patch from K-Ballo
Implemented LWG2420 bits for bind<void>
Review: http://reviews.llvm.org/D10997
llvm-svn: 241967
Diffstat (limited to 'libcxx/include/__functional_03')
-rw-r--r-- | libcxx/include/__functional_03 | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libcxx/include/__functional_03 b/libcxx/include/__functional_03 index 99354834234..13c38d8548d 100644 --- a/libcxx/include/__functional_03 +++ b/libcxx/include/__functional_03 @@ -2091,14 +2091,16 @@ public: result_type operator()(_Args&& ...__args) { - return base::operator()(_VSTD::forward<_Args>(__args)...); + typedef __invoke_void_return_wrapper<_Rp> _Invoker; + return _Invoker::__call(static_cast<base&>(*this), _VSTD::forward<_Args>(__args)...); } template <class ..._Args> result_type operator()(_Args&& ...__args) const { - return base::operator()(_VSTD::forward<_Args>(__args)...); + typedef __invoke_void_return_wrapper<_Rp> _Invoker; + return _Invoker::__call(static_cast<base const&>(*this), _VSTD::forward<_Args>(__args)...); } }; |