1 | /* |
2 | Copyright Benjamin Worpitz 2018 |
3 | Distributed under the Boost Software License, Version 1.0. |
4 | (See accompanying file LICENSE_1_0.txt or copy at |
5 | http://www.boost.org/LICENSE_1_0.txt) |
6 | */ |
7 | |
8 | #ifndef BOOST_PREDEF_LANGUAGE_CUDA_H |
9 | #define BOOST_PREDEF_LANGUAGE_CUDA_H |
10 | |
11 | #include <boost/predef/version_number.h> |
12 | #include <boost/predef/make.h> |
13 | |
14 | /*` |
15 | [heading `BOOST_LANG_CUDA`] |
16 | |
17 | [@https://en.wikipedia.org/wiki/CUDA CUDA C/C++] language. |
18 | If available, the version is detected as VV.RR.P. |
19 | |
20 | [table |
21 | [[__predef_symbol__] [__predef_version__]] |
22 | |
23 | [[`__CUDACC__`] [__predef_detection__]] |
24 | [[`__CUDA__`] [__predef_detection__]] |
25 | |
26 | [[`CUDA_VERSION`] [VV.RR.P]] |
27 | ] |
28 | */ |
29 | |
30 | #define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_NOT_AVAILABLE |
31 | |
32 | #if defined(__CUDACC__) || defined(__CUDA__) |
33 | # undef BOOST_LANG_CUDA |
34 | # include <cuda.h> |
35 | # if defined(CUDA_VERSION) |
36 | # define BOOST_LANG_CUDA BOOST_PREDEF_MAKE_10_VVRRP(CUDA_VERSION) |
37 | # else |
38 | # define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_AVAILABLE |
39 | # endif |
40 | #endif |
41 | |
42 | #if BOOST_LANG_CUDA |
43 | # define BOOST_LANG_CUDA_AVAILABLE |
44 | #endif |
45 | |
46 | #define BOOST_LANG_CUDA_NAME "CUDA C/C++" |
47 | |
48 | |
49 | #endif |
50 | |
51 | #include <boost/predef/detail/test.h> |
52 | BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_CUDA,BOOST_LANG_CUDA_NAME) |
53 | |