| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | //  (C) Copyright Eric Jourdanneau, Joel Falcou 2010//  Use, modification and distribution are subject to the //  Boost Software License, Version 1.0. (See accompanying file //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//  See http://www.boost.org for most recent version.//  NVIDIA CUDA C++ compiler setup#ifndef BOOST_COMPILER#  define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"#endif#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)#  define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)#else// We don't really know what the CUDA version is, but it's definitely before 7.5:#  define BOOST_CUDA_VERSION 7000000#endif// 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 BOOST_CUDA_VERSION < 7050000#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES#endif// The same bug is back again in 8.0:#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES#endif// CUDA (8.0) has no constexpr support in msvc mode:#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000)#  define BOOST_NO_CXX11_CONSTEXPR#endif#ifdef __CUDACC__//// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc://#if defined(_MSC_VER)#  define BOOST_NO_CXX14_DIGIT_SEPARATORS#  define BOOST_NO_CXX11_UNICODE_LITERALS#endif//// And this one effects the NVCC front end,// See https://svn.boost.org/trac/boost/ticket/13049//#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000)#  define BOOST_NO_CXX11_NOEXCEPT#endif#endif
 |