github.com/searKing/golang/go@v1.2.117/runtime/cgosymbolizer/include/boost/config/compiler/nvcc.hpp (about) 1 // (C) Copyright Eric Jourdanneau, Joel Falcou 2010 2 // Use, modification and distribution are subject to the 3 // Boost Software License, Version 1.0. (See accompanying file 4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 // See http://www.boost.org for most recent version. 7 8 // NVIDIA CUDA C++ compiler setup 9 10 #ifndef BOOST_COMPILER 11 # define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" 12 #endif 13 14 #if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__) 15 # define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) 16 #else 17 // We don't really know what the CUDA version is, but it's definitely before 7.5: 18 # define BOOST_CUDA_VERSION 7000000 19 #endif 20 21 // NVIDIA Specific support 22 // BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device 23 #define BOOST_GPU_ENABLED __host__ __device__ 24 25 // A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions 26 // https://svn.boost.org/trac/boost/ticket/11897 27 // This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance 28 // check is enough to detect versions < 7.5 29 #if BOOST_CUDA_VERSION < 7050000 30 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES 31 #endif 32 // The same bug is back again in 8.0: 33 #if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000) 34 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES 35 #endif 36 // CUDA (8.0) has no constexpr support in msvc mode: 37 #if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000) 38 # define BOOST_NO_CXX11_CONSTEXPR 39 #endif 40 41 #ifdef __CUDACC__ 42 // 43 // When compiing .cu files, there's a bunch of stuff that doesn't work with msvc: 44 // 45 #if defined(_MSC_VER) 46 # define BOOST_NO_CXX14_DIGIT_SEPARATORS 47 # define BOOST_NO_CXX11_UNICODE_LITERALS 48 #endif 49 // 50 // And this one effects the NVCC front end, 51 // See https://svn.boost.org/trac/boost/ticket/13049 52 // 53 #if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000) 54 # define BOOST_NO_CXX11_NOEXCEPT 55 #endif 56 57 #endif 58