~ubuntu-branches/ubuntu/precise/deal.ii/precise

« back to all changes in this revision

Viewing changes to contrib/boost/include/boost/config/compiler/codegear.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2009-05-08 23:13:50 UTC
  • Revision ID: james.westby@ubuntu.com-20090508231350-rrh1ltgi0tifabwc
Tags: upstream-6.2.0
ImportĀ upstreamĀ versionĀ 6.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  (C) Copyright John Maddock 2001 - 2003.
 
2
//  (C) Copyright David Abrahams 2002 - 2003.
 
3
//  (C) Copyright Aleksey Gurtovoy 2002.
 
4
//  Use, modification and distribution are subject to the
 
5
//  Boost Software License, Version 1.0. (See accompanying file
 
6
//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
7
 
 
8
//  See http://www.boost.org for most recent version.
 
9
 
 
10
//  CodeGear C++ compiler setup:
 
11
 
 
12
#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
 
13
// these warnings occur frequently in optimized template code
 
14
# pragma warn -8004 // var assigned value, but never used
 
15
# pragma warn -8008 // condition always true/false
 
16
# pragma warn -8066 // dead code can never execute
 
17
# pragma warn -8104 // static members with ctors not threadsafe
 
18
# pragma warn -8105 // reference member in class without ctors
 
19
#endif
 
20
//
 
21
// versions check:
 
22
// last known and checked version is 0x610
 
23
#if (__CODEGEARC__ > 0x610)
 
24
#  if defined(BOOST_ASSERT_CONFIG)
 
25
#     error "Unknown compiler version - please run the configure tests and report the results"
 
26
#  else
 
27
#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
 
28
#  endif
 
29
#endif
 
30
 
 
31
// CodeGear C++ Builder 2009
 
32
#if (__CODEGEARC__ <= 0x610)
 
33
#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 
34
#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
 
35
#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
36
#  define BOOST_NO_PRIVATE_IN_AGGREGATE
 
37
#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 
38
#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
 
39
#  define BOOST_NO_USING_TEMPLATE
 
40
   // we shouldn't really need this - but too many things choke
 
41
   // without it, this needs more investigation:
 
42
#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 
43
#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type
 
44
#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member
 
45
 
 
46
// Temporary hack, until specific MPL preprocessed headers are generated
 
47
#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
48
 
 
49
#  ifdef NDEBUG
 
50
      // fix broken <cstring> so that Boost.test works:
 
51
#     include <cstring>
 
52
#     undef strcmp
 
53
#  endif
 
54
   // fix broken errno declaration:
 
55
#  include <errno.h>
 
56
#  ifndef errno
 
57
#     define errno errno
 
58
#  endif
 
59
 
 
60
#endif
 
61
 
 
62
 
 
63
#  define BOOST_HAS_CHAR16_T
 
64
#  define BOOST_HAS_CHAR32_T
 
65
#  define BOOST_HAS_LONG_LONG
 
66
 
 
67
//#  define BOOST_HAS_ALIGNOF
 
68
#  define BOOST_HAS_DECLTYPE
 
69
#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS
 
70
//#  define BOOST_HAS_RVALUE_REFS
 
71
#  define BOOST_HAS_SCOPED_ENUM
 
72
//#  define BOOST_HAS_STATIC_ASSERT
 
73
#  define BOOST_HAS_STD_TYPE_TRAITS
 
74
 
 
75
#  define BOOST_HAS_TR1_HASH
 
76
#  define BOOST_HAS_TR1_TYPE_TRAITS
 
77
#  define BOOST_HAS_TR1_UNORDERED_MAP
 
78
#  define BOOST_HAS_TR1_UNORDERED_SET
 
79
 
 
80
#  define BOOST_HAS_MACRO_USE_FACET
 
81
 
 
82
 
 
83
   // On non-Win32 platforms let the platform config figure this out:
 
84
# ifdef _WIN32
 
85
#    define BOOST_HAS_STDINT_H
 
86
# endif
 
87
 
 
88
//
 
89
// __int64:
 
90
//
 
91
#if !defined(__STRICT_ANSI__)
 
92
#  define BOOST_HAS_MS_INT64
 
93
#endif
 
94
//
 
95
// check for exception handling support:
 
96
//
 
97
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
 
98
#  define BOOST_NO_EXCEPTIONS
 
99
#endif
 
100
//
 
101
// all versions have a <dirent.h>:
 
102
//
 
103
#if !defined(__STRICT_ANSI__)
 
104
#  define BOOST_HAS_DIRENT_H
 
105
#endif
 
106
//
 
107
// all versions support __declspec:
 
108
//
 
109
#if !defined(__STRICT_ANSI__)
 
110
#  define BOOST_HAS_DECLSPEC
 
111
#endif
 
112
//
 
113
// ABI fixing headers:
 
114
//
 
115
#ifndef BOOST_ABI_PREFIX
 
116
#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
 
117
#endif
 
118
#ifndef BOOST_ABI_SUFFIX
 
119
#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
 
120
#endif
 
121
//
 
122
// Disable Win32 support in ANSI mode:
 
123
//
 
124
#  pragma defineonoption BOOST_DISABLE_WIN32 -A
 
125
//
 
126
// MSVC compatibility mode does some nasty things:
 
127
// TODO: look up if this doesn't apply to the whole 12xx range
 
128
//
 
129
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
 
130
#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 
131
#  define BOOST_NO_VOID_RETURNS
 
132
#endif
 
133
 
 
134
#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
 
135