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