source: NonGTP/Boost/boost/config/compiler/sunpro_cc.hpp @ 857

Revision 857, 3.1 KB checked in by igarcia, 18 years ago (diff)
Line 
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 Ganßauge 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#      define BOOST_NO_IS_ABSTRACT
68#    endif
69
70#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
71
72//
73// versions check:
74// we don't support sunpro prior to version 4:
75#if __SUNPRO_CC < 0x400
76#error "Compiler not supported or configured - please reconfigure"
77#endif
78//
79// last known and checked version is 0x570:
80#if (__SUNPRO_CC > 0x570)
81#  if defined(BOOST_ASSERT_CONFIG)
82#     error "Unknown compiler version - please run the configure tests and report the results"
83#  endif
84#endif
85
86
87
88
89
90
Note: See TracBrowser for help on using the repository browser.