MessagePack for C
ibm.h
Go to the documentation of this file.
1 /*
2 Copyright Rene Rivera 2008-2015
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_IBM_H
9 #define MSGPACK_PREDEF_COMPILER_IBM_H
10 
12 #include <msgpack/predef/make.h>
13 
14 /*`
15 [heading `MSGPACK_COMP_IBM`]
16 
17 [@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler.
18 Version number available as major, minor, and patch.
19 
20 [table
21  [[__predef_symbol__] [__predef_version__]]
22 
23  [[`__IBMCPP__`] [__predef_detection__]]
24  [[`__xlC__`] [__predef_detection__]]
25  [[`__xlc__`] [__predef_detection__]]
26 
27  [[`__COMPILER_VER__`] [V.R.P]]
28  [[`__xlC__`] [V.R.P]]
29  [[`__xlc__`] [V.R.P]]
30  [[`__IBMCPP__`] [V.R.P]]
31  ]
32  */
33 
34 #define MSGPACK_COMP_IBM MSGPACK_VERSION_NUMBER_NOT_AVAILABLE
35 
36 #if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
37 # if !defined(MSGPACK_COMP_IBM_DETECTION) && defined(__COMPILER_VER__)
38 # define MSGPACK_COMP_IBM_DETECTION MSGPACK_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
39 # endif
40 # if !defined(MSGPACK_COMP_IBM_DETECTION) && defined(__xlC__)
41 # define MSGPACK_COMP_IBM_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRR(__xlC__)
42 # endif
43 # if !defined(MSGPACK_COMP_IBM_DETECTION) && defined(__xlc__)
44 # define MSGPACK_COMP_IBM_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRR(__xlc__)
45 # endif
46 # if !defined(MSGPACK_COMP_IBM_DETECTION)
47 # define MSGPACK_COMP_IBM_DETECTION MSGPACK_PREDEF_MAKE_10_VRP(__IBMCPP__)
48 # endif
49 #endif
50 
51 #ifdef MSGPACK_COMP_IBM_DETECTION
52 # if defined(MSGPACK_PREDEF_DETAIL_COMP_DETECTED)
53 # define MSGPACK_COMP_IBM_EMULATED MSGPACK_COMP_IBM_DETECTION
54 # else
55 # undef MSGPACK_COMP_IBM
56 # define MSGPACK_COMP_IBM MSGPACK_COMP_IBM_DETECTION
57 # endif
58 # define MSGPACK_COMP_IBM_AVAILABLE
60 #endif
61 
62 #define MSGPACK_COMP_IBM_NAME "IBM XL C/C++"
63 
64 #endif
65 
68 
69 #ifdef MSGPACK_COMP_IBM_EMULATED
71 MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_IBM_EMULATED,MSGPACK_COMP_IBM_NAME)
72 #endif
#define MSGPACK_COMP_IBM
Definition: ibm.h:34
#define MSGPACK_PREDEF_DECLARE_TEST(x, s)
Definition: test.h:13
#define MSGPACK_COMP_IBM_NAME
Definition: ibm.h:62