1
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
2
// distribute this software is granted provided this copyright notice appears
3
// in all copies. This software is provided "as is" without express or implied
4
// warranty, and with no claim as to its suitability for any purpose.
6
// See http://www.boost.org for most recent version.
8
// GNU C++ compiler setup:
10
# if __GNUC__ == 2 && __GNUC_MINOR__ == 91
11
// egcs 1.1 won't parse shared_ptr.hpp without this:
12
# define BOOST_NO_AUTO_PTR
14
# if __GNUC__ == 2 && __GNUC_MINOR__ < 95
16
// Prior to gcc 2.95 member templates only partly
17
// work - define BOOST_MSVC6_MEMBER_TEMPLATES
18
// instead since inline member templates mostly work.
20
# define BOOST_NO_MEMBER_TEMPLATES
21
# if __GNUC_MINOR__ >= 9
22
# define BOOST_MSVC6_MEMBER_TEMPLATES
26
# if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
27
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
28
# define BOOST_NO_OPERATORS_IN_NAMESPACE
32
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
36
# define BOOST_NO_EXCEPTIONS
40
// Bug specific to gcc 3.1 and 3.2:
42
#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
43
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
47
// Threading support: Turn this on unconditionally here (except for
48
// those platforms where we can know for sure). It will get turned off again
49
// later if no threading API is detected.
51
#if !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
52
# define BOOST_HAS_THREADS
56
// gcc has "long long"
58
#define BOOST_HAS_LONG_LONG
61
// gcc implements the named return value optimization since version 3.1
63
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
64
#define BOOST_HAS_NRVO
67
#define BOOST_COMPILER "GNU C++ version " __VERSION__
71
// we don't know gcc prior to version 2.90:
72
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
73
# error "Compiler not configured - please reconfigure"
76
// last known and checked version is 3.3:
77
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
78
# if defined(BOOST_ASSERT_CONFIG)
79
# error "Unknown compiler version - please run the configure tests and report the results"
81
# warning "Unknown compiler version - please run the configure tests and report the results"