]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/predef/include/boost/predef/compiler/ibm.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / predef / include / boost / predef / compiler / ibm.h
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 BOOST_PREDEF_COMPILER_IBM_H
9 #define BOOST_PREDEF_COMPILER_IBM_H
10
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13
14 /*`
15 [heading `BOOST_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 BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
35
36 #if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
37 # if !defined(BOOST_COMP_IBM_DETECTION) && defined(__COMPILER_VER__)
38 # define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
39 # endif
40 # if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlC__)
41 # define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlC__)
42 # endif
43 # if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlc__)
44 # define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlc__)
45 # endif
46 # if !defined(BOOST_COMP_IBM_DETECTION)
47 # define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_10_VRP(__IBMCPP__)
48 # endif
49 #endif
50
51 #ifdef BOOST_COMP_IBM_DETECTION
52 # if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
53 # define BOOST_COMP_IBM_EMULATED BOOST_COMP_IBM_DETECTION
54 # else
55 # undef BOOST_COMP_IBM
56 # define BOOST_COMP_IBM BOOST_COMP_IBM_DETECTION
57 # endif
58 # define BOOST_COMP_IBM_AVAILABLE
59 # include <boost/predef/detail/comp_detected.h>
60 #endif
61
62 #define BOOST_COMP_IBM_NAME "IBM XL C/C++"
63
64 #endif
65
66 #include <boost/predef/detail/test.h>
67 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM,BOOST_COMP_IBM_NAME)
68
69 #ifdef BOOST_COMP_IBM_EMULATED
70 #include <boost/predef/detail/test.h>
71 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM_EMULATED,BOOST_COMP_IBM_NAME)
72 #endif