05-compiler-msvc.patch 742 B

123456789101112131415161718192021222324252627
  1. diff --git a/include/__functional/bind.h b/include/__functional/bind.h
  2. index 364ab8d..c91cfc1 100644
  3. --- a/include/__functional/bind.h
  4. +++ b/include/__functional/bind.h
  5. @@ -286,6 +286,10 @@ public:
  6. }
  7. };
  8. +#if defined(__CUDACC__) && defined(_MSC_VER)
  9. +# define Y_CUDAFE_MSVC_BUG
  10. +#endif
  11. +
  12. template<class _Fp, class ..._BoundArgs>
  13. struct is_bind_expression<__bind<_Fp, _BoundArgs...> > : public true_type {};
  14. @@ -295,7 +299,11 @@ class __bind_r
  15. {
  16. typedef __bind<_Fp, _BoundArgs...> base;
  17. typedef typename base::_Fd _Fd;
  18. +#if !defined(Y_CUDAFE_MSVC_BUG)
  19. typedef typename base::_Td _Td;
  20. +#else
  21. + typedef typename tuple<typename decay<_BoundArgs>::type...> _Td;
  22. +#endif
  23. public:
  24. typedef _Rp result_type;