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