blob: 5c5fed308104d9692ce80b3f01cd9af8c93d88fa [file] [log] [blame]
Brian Silverman44c68b12018-08-04 23:56:44 -07001/*
2Copyright Benjamin Worpitz 2018
3Distributed under the Boost Software License, Version 1.0.
4(See accompanying file LICENSE_1_0.txt or copy at
5http://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.
18If 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>
52BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_CUDA,BOOST_LANG_CUDA_NAME)