summaryrefslogtreecommitdiffstats
path: root/contrib/src/boost/config/compiler/nvcc.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/src/boost/config/compiler/nvcc.hpp')
-rw-r--r--contrib/src/boost/config/compiler/nvcc.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/contrib/src/boost/config/compiler/nvcc.hpp b/contrib/src/boost/config/compiler/nvcc.hpp
index bbe81f6..b31d4f4 100644
--- a/contrib/src/boost/config/compiler/nvcc.hpp
+++ b/contrib/src/boost/config/compiler/nvcc.hpp
@@ -14,3 +14,19 @@
// NVIDIA Specific support
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
#define BOOST_GPU_ENABLED __host__ __device__
+
+// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions
+// https://svn.boost.org/trac/boost/ticket/11897
+// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
+// check is enough to detect versions < 7.5
+#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#endif
+// The same bug is back again in 8.0:
+#if (__CUDACC_VER__ > 80000) && (__CUDACC_VER__ < 80100)
+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#endif
+// Most recent CUDA (8.0) has no constexpr support in msvc mode:
+#if defined(_MSC_VER)
+# define BOOST_NO_CXX11_CONSTEXPR
+#endif