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_SUNPRO_H 9 #define BOOST_PREDEF_COMPILER_SUNPRO_H 10 11 #include <boost/predef/version_number.h> 12 #include <boost/predef/make.h> 13 14 /*` 15 [heading `BOOST_COMP_SUNPRO`] 16 17 [@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler. 18 Version number available as major, minor, and patch. 19 20 [table 21 [[__predef_symbol__] [__predef_version__]] 22 23 [[`__SUNPRO_CC`] [__predef_detection__]] 24 [[`__SUNPRO_C`] [__predef_detection__]] 25 26 [[`__SUNPRO_CC`] [V.R.P]] 27 [[`__SUNPRO_C`] [V.R.P]] 28 [[`__SUNPRO_CC`] [VV.RR.P]] 29 [[`__SUNPRO_C`] [VV.RR.P]] 30 ] 31 */ 32 33 #define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE 34 35 #if defined(__SUNPRO_CC) || defined(__SUNPRO_C) 36 # if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC) 37 # if (__SUNPRO_CC < 0x5100) 38 # define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC) 39 # else 40 # define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC) 41 # endif 42 # endif 43 # if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C) 44 # if (__SUNPRO_C < 0x5100) 45 # define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C) 46 # else 47 # define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C) 48 # endif 49 # endif 50 # if !defined(BOOST_COMP_SUNPRO_DETECTION) 51 # define BOOST_COMP_SUNPRO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE 52 # endif 53 #endif 54 55 #ifdef BOOST_COMP_SUNPRO_DETECTION 56 # if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED) 57 # define BOOST_COMP_SUNPRO_EMULATED BOOST_COMP_SUNPRO_DETECTION 58 # else 59 # undef BOOST_COMP_SUNPRO 60 # define BOOST_COMP_SUNPRO BOOST_COMP_SUNPRO_DETECTION 61 # endif 62 # define BOOST_COMP_SUNPRO_AVAILABLE 63 # include <boost/predef/detail/comp_detected.h> 64 #endif 65 66 #define BOOST_COMP_SUNPRO_NAME "Oracle Solaris Studio" 67 68 #endif 69 70 #include <boost/predef/detail/test.h> 71 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO,BOOST_COMP_SUNPRO_NAME) 72 73 #ifdef BOOST_COMP_SUNPRO_EMULATED 74 #include <boost/predef/detail/test.h> 75 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO_EMULATED,BOOST_COMP_SUNPRO_NAME) 76 #endif 77