sl@0
|
1 |
// (C) Copyright John Maddock 2001 - 2003.
|
sl@0
|
2 |
// (C) Copyright Darin Adler 2001 - 2002.
|
sl@0
|
3 |
// (C) Copyright Jens Maurer 2001 - 2002.
|
sl@0
|
4 |
// (C) Copyright Beman Dawes 2001 - 2003.
|
sl@0
|
5 |
// (C) Copyright Douglas Gregor 2002.
|
sl@0
|
6 |
// (C) Copyright David Abrahams 2002 - 2003.
|
sl@0
|
7 |
// (C) Copyright Synge Todo 2003.
|
sl@0
|
8 |
// Use, modification and distribution are subject to the
|
sl@0
|
9 |
// Boost Software License, Version 1.0. (See accompanying file
|
sl@0
|
10 |
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
sl@0
|
11 |
|
sl@0
|
12 |
// See http://www.boost.org for most recent version.
|
sl@0
|
13 |
|
sl@0
|
14 |
// GNU C++ compiler setup:
|
sl@0
|
15 |
|
sl@0
|
16 |
#if __GNUC__ < 3
|
sl@0
|
17 |
# if __GNUC_MINOR__ == 91
|
sl@0
|
18 |
// egcs 1.1 won't parse shared_ptr.hpp without this:
|
sl@0
|
19 |
# define BOOST_NO_AUTO_PTR
|
sl@0
|
20 |
# endif
|
sl@0
|
21 |
# if __GNUC_MINOR__ < 95
|
sl@0
|
22 |
//
|
sl@0
|
23 |
// Prior to gcc 2.95 member templates only partly
|
sl@0
|
24 |
// work - define BOOST_MSVC6_MEMBER_TEMPLATES
|
sl@0
|
25 |
// instead since inline member templates mostly work.
|
sl@0
|
26 |
//
|
sl@0
|
27 |
# define BOOST_NO_MEMBER_TEMPLATES
|
sl@0
|
28 |
# if __GNUC_MINOR__ >= 9
|
sl@0
|
29 |
# define BOOST_MSVC6_MEMBER_TEMPLATES
|
sl@0
|
30 |
# endif
|
sl@0
|
31 |
# endif
|
sl@0
|
32 |
|
sl@0
|
33 |
# if __GNUC_MINOR__ < 96
|
sl@0
|
34 |
# define BOOST_NO_SFINAE
|
sl@0
|
35 |
# endif
|
sl@0
|
36 |
|
sl@0
|
37 |
# if __GNUC_MINOR__ <= 97
|
sl@0
|
38 |
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
sl@0
|
39 |
# define BOOST_NO_OPERATORS_IN_NAMESPACE
|
sl@0
|
40 |
# endif
|
sl@0
|
41 |
|
sl@0
|
42 |
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
sl@0
|
43 |
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
sl@0
|
44 |
# define BOOST_NO_IS_ABSTRACT
|
sl@0
|
45 |
#elif __GNUC__ == 3
|
sl@0
|
46 |
//
|
sl@0
|
47 |
// gcc-3.x problems:
|
sl@0
|
48 |
//
|
sl@0
|
49 |
// Bug specific to gcc 3.1 and 3.2:
|
sl@0
|
50 |
//
|
sl@0
|
51 |
# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
|
sl@0
|
52 |
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
sl@0
|
53 |
# endif
|
sl@0
|
54 |
# if __GNUC_MINOR__ < 4
|
sl@0
|
55 |
# define BOOST_NO_IS_ABSTRACT
|
sl@0
|
56 |
# endif
|
sl@0
|
57 |
#endif
|
sl@0
|
58 |
|
sl@0
|
59 |
#ifndef __EXCEPTIONS
|
sl@0
|
60 |
# define BOOST_NO_EXCEPTIONS
|
sl@0
|
61 |
#endif
|
sl@0
|
62 |
|
sl@0
|
63 |
|
sl@0
|
64 |
//
|
sl@0
|
65 |
// Threading support: Turn this on unconditionally here (except for
|
sl@0
|
66 |
// those platforms where we can know for sure). It will get turned off again
|
sl@0
|
67 |
// later if no threading API is detected.
|
sl@0
|
68 |
//
|
sl@0
|
69 |
#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
sl@0
|
70 |
# define BOOST_HAS_THREADS
|
sl@0
|
71 |
#endif
|
sl@0
|
72 |
|
sl@0
|
73 |
//
|
sl@0
|
74 |
// gcc has "long long"
|
sl@0
|
75 |
//
|
sl@0
|
76 |
#define BOOST_HAS_LONG_LONG
|
sl@0
|
77 |
|
sl@0
|
78 |
//
|
sl@0
|
79 |
// gcc implements the named return value optimization since version 3.1
|
sl@0
|
80 |
//
|
sl@0
|
81 |
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
|
sl@0
|
82 |
#define BOOST_HAS_NRVO
|
sl@0
|
83 |
#endif
|
sl@0
|
84 |
|
sl@0
|
85 |
#define BOOST_COMPILER "GNU C++ version " __VERSION__
|
sl@0
|
86 |
|
sl@0
|
87 |
//
|
sl@0
|
88 |
// versions check:
|
sl@0
|
89 |
// we don't know gcc prior to version 2.90:
|
sl@0
|
90 |
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
|
sl@0
|
91 |
# error "Compiler not configured - please reconfigure"
|
sl@0
|
92 |
#endif
|
sl@0
|
93 |
//
|
sl@0
|
94 |
// last known and checked version is 4.0 (Pre-release):
|
sl@0
|
95 |
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0))
|
sl@0
|
96 |
# if defined(BOOST_ASSERT_CONFIG)
|
sl@0
|
97 |
# error "Unknown compiler version - please run the configure tests and report the results"
|
sl@0
|
98 |
# else
|
sl@0
|
99 |
// we don't emit warnings here anymore since there are no defect macros defined for
|
sl@0
|
100 |
// gcc post 3.4, so any failures are gcc regressions...
|
sl@0
|
101 |
//# warning "Unknown compiler version - please run the configure tests and report the results"
|
sl@0
|
102 |
# endif
|
sl@0
|
103 |
#endif
|
sl@0
|
104 |
|
sl@0
|
105 |
|