diff --git a/include/boost/config/compiler/clang.hpp b/include/boost/config/compiler/clang.hpp index d7fd76f9..dd54691c 100644 --- a/include/boost/config/compiler/clang.hpp +++ b/include/boost/config/compiler/clang.hpp @@ -52,7 +52,15 @@ // Clang supports "long long" in all compilation modes. #define BOOST_HAS_LONG_LONG -#if defined(__SIZEOF_INT128__) +// +// We disable this if the compiler is really nvcc as it +// doesn't actually support __int128 as of CUDA_VERSION=5000 +// even though it defines __SIZEOF_INT128__. +// See https://svn.boost.org/trac/boost/ticket/10418 +// Only re-enable this for nvcc if you're absolutely sure +// of the circumstances under which it's supported: +// +#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #endif