VirtualBox

source: vbox/trunk/src/libs/boost-1.37.0/boost/config/compiler/codegear.hpp@ 34049

Last change on this file since 34049 was 16204, checked in by vboxsync, 16 years ago

export the boost stuff required for Main

File size: 4.0 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette