convex.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. Copyright Rene Rivera 2011-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_ARCHITECTURE_CONVEX_H
  8. #define BOOST_PREDEF_ARCHITECTURE_CONVEX_H
  9. #include <boost/predef/version_number.h>
  10. #include <boost/predef/make.h>
  11. /* tag::reference[]
  12. = `BOOST_ARCH_CONVEX`
  13. http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
  14. [options="header"]
  15. |===
  16. | {predef_symbol} | {predef_version}
  17. | `+__convex__+` | {predef_detection}
  18. | `+__convex_c1__+` | 1.0.0
  19. | `+__convex_c2__+` | 2.0.0
  20. | `+__convex_c32__+` | 3.2.0
  21. | `+__convex_c34__+` | 3.4.0
  22. | `+__convex_c38__+` | 3.8.0
  23. |===
  24. */ // end::reference[]
  25. #define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
  26. #if defined(__convex__)
  27. # undef BOOST_ARCH_CONVEX
  28. # if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c1__)
  29. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(1,0,0)
  30. # endif
  31. # if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c2__)
  32. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(2,0,0)
  33. # endif
  34. # if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c32__)
  35. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,2,0)
  36. # endif
  37. # if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c34__)
  38. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,4,0)
  39. # endif
  40. # if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c38__)
  41. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,8,0)
  42. # endif
  43. # if !defined(BOOST_ARCH_CONVEX)
  44. # define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_AVAILABLE
  45. # endif
  46. #endif
  47. #if BOOST_ARCH_CONVEX
  48. # define BOOST_ARCH_CONVEX_AVAILABLE
  49. #endif
  50. #if BOOST_ARCH_CONVEX
  51. # undef BOOST_ARCH_WORD_BITS_32
  52. # define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
  53. #endif
  54. #define BOOST_ARCH_CONVEX_NAME "Convex Computer"
  55. #endif
  56. #include <boost/predef/detail/test.h>
  57. BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_CONVEX,BOOST_ARCH_CONVEX_NAME)