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/*`
15[heading `BOOST_COMP_SUNPRO`]
16
17[@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler.
18Version 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>
71BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO,BOOST_COMP_SUNPRO_NAME)
72
73#ifdef BOOST_COMP_SUNPRO_EMULATED
74#include <boost/predef/detail/test.h>
75BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO_EMULATED,BOOST_COMP_SUNPRO_NAME)
76#endif
77