1/*
2Copyright Rene Rivera 2008-2015
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_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/* tag::reference[]
15= `BOOST_COMP_SUNPRO`
16
17http://en.wikipedia.org/wiki/Oracle_Solaris_Studio[Oracle Solaris Studio] compiler.
18Version number available as major, minor, and patch.
19
20[options="header"]
21|===
22| {predef_symbol} | {predef_version}
23
24| `+__SUNPRO_CC+` | {predef_detection}
25| `+__SUNPRO_C+` | {predef_detection}
26
27| `+__SUNPRO_CC+` | V.R.P
28| `+__SUNPRO_C+` | V.R.P
29| `+__SUNPRO_CC+` | VV.RR.P
30| `+__SUNPRO_C+` | VV.RR.P
31|===
32*/ // end::reference[]
33
34#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE
35
36#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
37# if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC)
38# if (__SUNPRO_CC < 0x5100)
39# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
40# else
41# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC)
42# endif
43# endif
44# if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C)
45# if (__SUNPRO_C < 0x5100)
46# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
47# else
48# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C)
49# endif
50# endif
51# if !defined(BOOST_COMP_SUNPRO_DETECTION)
52# define BOOST_COMP_SUNPRO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
53# endif
54#endif
55
56#ifdef BOOST_COMP_SUNPRO_DETECTION
57# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
58# define BOOST_COMP_SUNPRO_EMULATED BOOST_COMP_SUNPRO_DETECTION
59# else
60# undef BOOST_COMP_SUNPRO
61# define BOOST_COMP_SUNPRO BOOST_COMP_SUNPRO_DETECTION
62# endif
63# define BOOST_COMP_SUNPRO_AVAILABLE
64# include <boost/predef/detail/comp_detected.h>
65#endif
66
67#define BOOST_COMP_SUNPRO_NAME "Oracle Solaris Studio"
68
69#endif
70
71#include <boost/predef/detail/test.h>
72BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO,BOOST_COMP_SUNPRO_NAME)
73
74#ifdef BOOST_COMP_SUNPRO_EMULATED
75#include <boost/predef/detail/test.h>
76BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO_EMULATED,BOOST_COMP_SUNPRO_NAME)
77#endif
78

source code of include/boost/predef/compiler/sunpro.h