summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__functional_base_03
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2010-10-03 13:59:56 +0000
committerHoward Hinnant <hhinnant@apple.com>2010-10-03 13:59:56 +0000
commit2ec672fff58e68ce00e59eca7bef0742abb81542 (patch)
tree662e143a2931bbbe15e27bd589ea809c25573a35 /libcxx/include/__functional_base_03
parenta76cdeb7837485f4e80821b5652fa57b17682b91 (diff)
downloadbcm5719-llvm-2ec672fff58e68ce00e59eca7bef0742abb81542.tar.gz
bcm5719-llvm-2ec672fff58e68ce00e59eca7bef0742abb81542.zip
Tweak to make clang blocks work with std::functional (very fragile)
llvm-svn: 115461
Diffstat (limited to 'libcxx/include/__functional_base_03')
-rw-r--r--libcxx/include/__functional_base_038
1 files changed, 4 insertions, 4 deletions
diff --git a/libcxx/include/__functional_base_03 b/libcxx/include/__functional_base_03
index 86a804ae4ed..368110b8371 100644
--- a/libcxx/include/__functional_base_03
+++ b/libcxx/include/__functional_base_03
@@ -873,7 +873,7 @@ __invoke(_R _T::* __f, _T1& __t1)
template <class _F>
inline _LIBCPP_INLINE_VISIBILITY
-typename result_of<_F()>::type
+decltype(declval<_F>()())
__invoke(_F __f)
{
return __f();
@@ -881,7 +881,7 @@ __invoke(_F __f)
template <class _F, class _A0>
inline _LIBCPP_INLINE_VISIBILITY
-typename result_of<_F(_A0)>::type
+decltype(declval<_F>()(declval<_A0&>()))
__invoke(_F __f, _A0& __a0)
{
return __f(__a0);
@@ -889,7 +889,7 @@ __invoke(_F __f, _A0& __a0)
template <class _F, class _A0, class _A1>
inline _LIBCPP_INLINE_VISIBILITY
-typename result_of<_F(_A0, _A1)>::type
+decltype(declval<_F>()(declval<_A0&>(), declval<_A1&>()))
__invoke(_F __f, _A0& __a0, _A1& __a1)
{
return __f(__a0, __a1);
@@ -897,7 +897,7 @@ __invoke(_F __f, _A0& __a0, _A1& __a1)
template <class _F, class _A0, class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
-typename result_of<_F(_A0, _A1, _A2)>::type
+decltype(declval<_F>()(declval<_A0&>(), declval<_A1&>(), declval<_A2&>()))
__invoke(_F __f, _A0& __a0, _A1& __a1, _A2& __a2)
{
return __f(__a0, __a1, __a2);
OpenPOWER on IntegriCloud