]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
032966c642bbc0be8bead573141a5c72dcdbf3ca
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / config / compiler / sunpro_cc.hpp
1 //  (C) Copyright John Maddock 2001. \r
2 //  (C) Copyright Jens Maurer 2001 - 2003. \r
3 //  (C) Copyright Peter Dimov 2002. \r
4 //  (C) Copyright Aleksey Gurtovoy 2002 - 2003. \r
5 //  (C) Copyright David Abrahams 2002. \r
6 //  Use, modification and distribution are subject to the \r
7 //  Boost Software License, Version 1.0. (See accompanying file \r
8 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
9 \r
10 //  See http://www.boost.org for most recent version.\r
11 \r
12 //  Sun C++ compiler setup:\r
13 \r
14 #    if __SUNPRO_CC <= 0x500\r
15 #      define BOOST_NO_MEMBER_TEMPLATES\r
16 #      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
17 #    endif\r
18 \r
19 #    if (__SUNPRO_CC <= 0x520)\r
20        //\r
21        // Sunpro 5.2 and earler:\r
22        //\r
23        // although sunpro 5.2 supports the syntax for\r
24        // inline initialization it often gets the value\r
25        // wrong, especially where the value is computed\r
26        // from other constants (J Maddock 6th May 2001)\r
27 #      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
28 \r
29        // Although sunpro 5.2 supports the syntax for\r
30        // partial specialization, it often seems to\r
31        // bind to the wrong specialization.  Better\r
32        // to disable it until suppport becomes more stable\r
33        // (J Maddock 6th May 2001).\r
34 #      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
35 #    endif\r
36 \r
37 #    if (__SUNPRO_CC <= 0x530) \r
38        // Requesting debug info (-g) with Boost.Python results\r
39        // in an internal compiler error for "static const"\r
40        // initialized in-class.\r
41        //    >> Assertion:   (../links/dbg_cstabs.cc, line 611)\r
42        //         while processing ../test.cpp at line 0.\r
43        // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)\r
44 #      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
45 \r
46        // SunPro 5.3 has better support for partial specialization,\r
47        // but breaks when compiling std::less<shared_ptr<T> >\r
48        // (Jens Maurer 4 Nov 2001).\r
49 \r
50        // std::less specialization fixed as reported by George\r
51        // Heintzelman; partial specialization re-enabled\r
52        // (Peter Dimov 17 Jan 2002)\r
53 \r
54 //#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\r
55 \r
56        // integral constant expressions with 64 bit numbers fail\r
57 #      define BOOST_NO_INTEGRAL_INT64_T\r
58 #    endif\r
59 \r
60 #    if (__SUNPRO_CC < 0x570) \r
61 #      define BOOST_NO_TEMPLATE_TEMPLATES\r
62        // see http://lists.boost.org/MailArchives/boost/msg47184.php\r
63        // and http://lists.boost.org/MailArchives/boost/msg47220.php\r
64 #      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\r
65 #      define BOOST_NO_SFINAE\r
66 #      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\r
67 #    endif\r
68 #    if (__SUNPRO_CC <= 0x580) \r
69 #      define BOOST_NO_IS_ABSTRACT\r
70 #    endif\r
71 \r
72 //\r
73 // Issues that effect all known versions:\r
74 //\r
75 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
76 #define BOOST_NO_ADL_BARRIER\r
77 \r
78 //\r
79 // C++0x features\r
80 //\r
81 \r
82 #if(__SUNPRO_CC >= 0x590) \r
83 #  define BOOST_HAS_LONG_LONG\r
84 #else\r
85 #  define BOOST_NO_LONG_LONG\r
86 #endif\r
87 \r
88 #define BOOST_NO_AUTO_DECLARATIONS\r
89 #define BOOST_NO_AUTO_MULTIDECLARATIONS\r
90 #define BOOST_NO_CHAR16_T\r
91 #define BOOST_NO_CHAR32_T\r
92 #define BOOST_NO_CONCEPTS\r
93 #define BOOST_NO_CONSTEXPR\r
94 #define BOOST_NO_DECLTYPE\r
95 #define BOOST_NO_DEFAULTED_FUNCTIONS\r
96 #define BOOST_NO_DELETED_FUNCTIONS\r
97 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\r
98 #define BOOST_NO_EXTERN_TEMPLATE\r
99 #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
100 #define BOOST_NO_INITIALIZER_LISTS\r
101 #define BOOST_NO_LAMBDAS\r
102 #define BOOST_NO_NULLPTR\r
103 #define BOOST_NO_RAW_LITERALS\r
104 #define BOOST_NO_RVALUE_REFERENCES\r
105 #define BOOST_NO_SCOPED_ENUMS\r
106 #define BOOST_NO_SFINAE_EXPR\r
107 #define BOOST_NO_STATIC_ASSERT\r
108 #define BOOST_NO_TEMPLATE_ALIASES\r
109 #define BOOST_NO_UNICODE_LITERALS\r
110 #define BOOST_NO_VARIADIC_TEMPLATES\r
111 \r
112 //\r
113 // Version\r
114 //\r
115 \r
116 #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)\r
117 \r
118 //\r
119 // versions check:\r
120 // we don't support sunpro prior to version 4:\r
121 #if __SUNPRO_CC < 0x400\r
122 #error "Compiler not supported or configured - please reconfigure"\r
123 #endif\r
124 //\r
125 // last known and checked version is 0x590:\r
126 #if (__SUNPRO_CC > 0x590)\r
127 #  if defined(BOOST_ASSERT_CONFIG)\r
128 #     error "Unknown compiler version - please run the configure tests and report the results"\r
129 #  endif\r
130 #endif\r