MessagePack for C
nvcc.h
Go to the documentation of this file.
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 MSGPACK_PREDEF_COMPILER_NVCC_H
9 #define MSGPACK_PREDEF_COMPILER_NVCC_H
10 
12 #include <msgpack/predef/make.h>
13 
14 /*`
15 [heading `MSGPACK_COMP_NVCC`]
16 
17 [@https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler NVCC] compiler.
18 Version number available as major, minor, and patch beginning with version 7.5.
19 
20 [table
21  [[__predef_symbol__] [__predef_version__]]
22 
23  [[`__NVCC__`] [__predef_detection__]]
24 
25  [[`__CUDACC_VER_MAJOR__`, `__CUDACC_VER_MINOR__`, `__CUDACC_VER_BUILD__`] [V.R.P]]
26  ]
27  */
28 
29 #define MSGPACK_COMP_NVCC MSGPACK_VERSION_NUMBER_NOT_AVAILABLE
30 
31 #if defined(__NVCC__)
32 # if !defined(__CUDACC_VER_MAJOR__) || !defined(__CUDACC_VER_MINOR__) || !defined(__CUDACC_VER_BUILD__)
33 # define MSGPACK_COMP_NVCC_DETECTION MSGPACK_VERSION_NUMBER_AVAILABLE
34 # else
35 # define MSGPACK_COMP_NVCC_DETECTION MSGPACK_VERSION_NUMBER(__CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, __CUDACC_VER_BUILD__)
36 # endif
37 #endif
38 
39 #ifdef MSGPACK_COMP_NVCC_DETECTION
40 # if defined(MSGPACK_PREDEF_DETAIL_COMP_DETECTED)
41 # define MSGPACK_COMP_NVCC_EMULATED MSGPACK_COMP_NVCC_DETECTION
42 # else
43 # undef MSGPACK_COMP_NVCC
44 # define MSGPACK_COMP_NVCC MSGPACK_COMP_NVCC_DETECTION
45 # endif
46 # define MSGPACK_COMP_NVCC_AVAILABLE
48 #endif
49 
50 #define MSGPACK_COMP_NVCC_NAME "NVCC"
51 
52 #endif
53 
56 
57 #ifdef MSGPACK_COMP_NVCC_EMULATED
59 MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_NVCC_EMULATED,MSGPACK_COMP_NVCC_NAME)
60 #endif
MSGPACK_COMP_NVCC
#define MSGPACK_COMP_NVCC
Definition: nvcc.h:29
version_number.h
MSGPACK_COMP_NVCC_NAME
#define MSGPACK_COMP_NVCC_NAME
Definition: nvcc.h:50
test.h
comp_detected.h
MSGPACK_PREDEF_DECLARE_TEST
#define MSGPACK_PREDEF_DECLARE_TEST(x, s)
Definition: test.h:13
make.h