sunpro.h 2.4 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 MSGPACK_PREDEF_COMPILER_SUNPRO_H
  8. #define MSGPACK_PREDEF_COMPILER_SUNPRO_H
  9. #include <msgpack/predef/version_number.h>
  10. #include <msgpack/predef/make.h>
  11. /*`
  12. [heading `MSGPACK_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 MSGPACK_COMP_SUNPRO MSGPACK_VERSION_NUMBER_NOT_AVAILABLE
  26. #if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
  27. # if !defined(MSGPACK_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC)
  28. # if (__SUNPRO_CC < 0x5100)
  29. # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
  30. # else
  31. # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC)
  32. # endif
  33. # endif
  34. # if !defined(MSGPACK_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C)
  35. # if (__SUNPRO_C < 0x5100)
  36. # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
  37. # else
  38. # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C)
  39. # endif
  40. # endif
  41. # if !defined(MSGPACK_COMP_SUNPRO_DETECTION)
  42. # define MSGPACK_COMP_SUNPRO_DETECTION MSGPACK_VERSION_NUMBER_AVAILABLE
  43. # endif
  44. #endif
  45. #ifdef MSGPACK_COMP_SUNPRO_DETECTION
  46. # if defined(MSGPACK_PREDEF_DETAIL_COMP_DETECTED)
  47. # define MSGPACK_COMP_SUNPRO_EMULATED MSGPACK_COMP_SUNPRO_DETECTION
  48. # else
  49. # undef MSGPACK_COMP_SUNPRO
  50. # define MSGPACK_COMP_SUNPRO MSGPACK_COMP_SUNPRO_DETECTION
  51. # endif
  52. # define MSGPACK_COMP_SUNPRO_AVAILABLE
  53. # include <msgpack/predef/detail/comp_detected.h>
  54. #endif
  55. #define MSGPACK_COMP_SUNPRO_NAME "Oracle Solaris Studio"
  56. #endif
  57. #include <msgpack/predef/detail/test.h>
  58. MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SUNPRO,MSGPACK_COMP_SUNPRO_NAME)
  59. #ifdef MSGPACK_COMP_SUNPRO_EMULATED
  60. #include <msgpack/predef/detail/test.h>
  61. MSGPACK_PREDEF_DECLARE_TEST(MSGPACK_COMP_SUNPRO_EMULATED,MSGPACK_COMP_SUNPRO_NAME)
  62. #endif