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 
8 #ifndef BOOST_PREDEF_COMPILER_COMEAU_H
9 #define BOOST_PREDEF_COMPILER_COMEAU_H
10 
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13 
14 #define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
15 
16 /* tag::reference[]
17 = `BOOST_COMP_COMO`
18 
19 http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B[Comeau {CPP}] compiler.
20 Version number available as major, minor, and patch.
21 
22 [options="header"]
23 |===
24 | {predef_symbol} | {predef_version}
25 
26 | `+__COMO__+` | {predef_detection}
27 
28 | `+__COMO_VERSION__+` | V.R.P
29 |===
30 */ // end::reference[]
31 
32 #if defined(__COMO__)
33 #   if !defined(BOOST_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)
34 #       define BOOST_COMP_COMO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
35 #   endif
36 #   if !defined(BOOST_COMP_COMO_DETECTION)
37 #       define BOOST_COMP_COMO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
38 #   endif
39 #endif
40 
41 #ifdef BOOST_COMP_COMO_DETECTION
42 #   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
43 #       define BOOST_COMP_COMO_EMULATED BOOST_COMP_COMO_DETECTION
44 #   else
45 #       undef BOOST_COMP_COMO
46 #       define BOOST_COMP_COMO BOOST_COMP_COMO_DETECTION
47 #   endif
48 #   define BOOST_COMP_COMO_AVAILABLE
49 #   include <boost/predef/detail/comp_detected.h>
50 #endif
51 
52 #define BOOST_COMP_COMO_NAME "Comeau C++"
53 
54 #endif
55 
56 #include <boost/predef/detail/test.h>
57 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO,BOOST_COMP_COMO_NAME)
58 
59 #ifdef BOOST_COMP_COMO_EMULATED
60 #include <boost/predef/detail/test.h>
61 BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO_EMULATED,BOOST_COMP_COMO_NAME)
62 #endif
63