Revert "Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work."
[dyninst.git] / external / 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 #if(__SUNPRO_CC >= 0x590) \r
79 #  define BOOST_HAS_LONG_LONG\r
80 #endif\r
81 \r
82 \r
83 #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)\r
84 \r
85 //\r
86 // versions check:\r
87 // we don't support sunpro prior to version 4:\r
88 #if __SUNPRO_CC < 0x400\r
89 #error "Compiler not supported or configured - please reconfigure"\r
90 #endif\r
91 //\r
92 // last known and checked version is 0x590:\r
93 #if (__SUNPRO_CC > 0x590)\r
94 #  if defined(BOOST_ASSERT_CONFIG)\r
95 #     error "Unknown compiler version - please run the configure tests and report the results"\r
96 #  endif\r
97 #endif\r
98 \r
99 \r
100 \r
101 \r
102 \r
103 \r