sunpro.h 2.3 KB

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