~ubuntu-branches/ubuntu/breezy/aqsis/breezy

« back to all changes in this revision

Viewing changes to boost/boost/config/compiler/gcc.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Will Newton
  • Date: 2004-12-07 20:06:49 UTC
  • Revision ID: james.westby@ubuntu.com-20041207200649-fccswkrvp4oc8lmn
Tags: upstream-0.9.3
ImportĀ upstreamĀ versionĀ 0.9.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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.
 
5
 
 
6
//  See http://www.boost.org for most recent version.
 
7
 
 
8
//  GNU C++ compiler setup:
 
9
 
 
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
 
13
#   endif
 
14
#   if __GNUC__ == 2 && __GNUC_MINOR__ < 95
 
15
      //
 
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.
 
19
      //
 
20
#     define BOOST_NO_MEMBER_TEMPLATES
 
21
#     if __GNUC_MINOR__ >= 9
 
22
#       define BOOST_MSVC6_MEMBER_TEMPLATES
 
23
#     endif
 
24
#   endif
 
25
 
 
26
#   if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
 
27
#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
28
#     define BOOST_NO_OPERATORS_IN_NAMESPACE
 
29
#   endif
 
30
 
 
31
#   if __GNUC__ < 3
 
32
#      define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
 
33
#   endif
 
34
 
 
35
#ifndef __EXCEPTIONS
 
36
# define BOOST_NO_EXCEPTIONS
 
37
#endif
 
38
 
 
39
//
 
40
// Bug specific to gcc 3.1 and 3.2:
 
41
//
 
42
#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
 
43
#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 
44
#endif
 
45
 
 
46
//
 
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.
 
50
//
 
51
#if !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
 
52
# define BOOST_HAS_THREADS
 
53
#endif 
 
54
 
 
55
//
 
56
// gcc has "long long"
 
57
//
 
58
#define BOOST_HAS_LONG_LONG
 
59
 
 
60
//
 
61
// gcc implements the named return value optimization since version 3.1
 
62
//
 
63
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
 
64
#define BOOST_HAS_NRVO
 
65
#endif
 
66
 
 
67
#define BOOST_COMPILER "GNU C++ version " __VERSION__
 
68
 
 
69
//
 
70
// versions check:
 
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"
 
74
#endif
 
75
//
 
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"
 
80
#  else
 
81
#     warning "Unknown compiler version - please run the configure tests and report the results"
 
82
#  endif
 
83
#endif
 
84