]> git.lyx.org Git - features.git/blobdiff - boost/boost/config/compiler/codegear.hpp
boost: add eol property
[features.git] / boost / boost / config / compiler / codegear.hpp
index 4208b51fb3a28dd82ffc58b1bdbade7b1784b197..3915cd54f95a12e94519efdffd1835047eccbf73 100644 (file)
-//  (C) Copyright John Maddock 2001 - 2003.\r
-//  (C) Copyright David Abrahams 2002 - 2003.\r
-//  (C) Copyright Aleksey Gurtovoy 2002.\r
-//  Use, modification and distribution are subject to the\r
-//  Boost Software License, Version 1.0. (See accompanying file\r
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
-\r
-//  See http://www.boost.org for most recent version.\r
-\r
-//  CodeGear C++ compiler setup:\r
-\r
-#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )\r
-// these warnings occur frequently in optimized template code\r
-# pragma warn -8004 // var assigned value, but never used\r
-# pragma warn -8008 // condition always true/false\r
-# pragma warn -8066 // dead code can never execute\r
-# pragma warn -8104 // static members with ctors not threadsafe\r
-# pragma warn -8105 // reference member in class without ctors\r
-#endif\r
-//\r
-// versions check:\r
-// last known and checked version is 0x610\r
-#if (__CODEGEARC__ > 0x613)\r
-#  if defined(BOOST_ASSERT_CONFIG)\r
-#     error "Unknown compiler version - please run the configure tests and report the results"\r
-#  else\r
-#     pragma message( "Unknown compiler version - please run the configure tests and report the results")\r
-#  endif\r
-#endif\r
-\r
-// CodeGear C++ Builder 2009\r
-#if (__CODEGEARC__ <= 0x613)\r
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\r
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\r
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\r
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE\r
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\r
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\r
-#  define BOOST_NO_USING_TEMPLATE\r
-   // we shouldn't really need this - but too many things choke\r
-   // without it, this needs more investigation:\r
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\r
-#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type\r
-#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member\r
-#  define BOOST_SP_NO_SP_CONVERTIBLE\r
-\r
-// Temporary hack, until specific MPL preprocessed headers are generated\r
-#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\r
-\r
-#  ifdef NDEBUG\r
-      // fix broken <cstring> so that Boost.test works:\r
-#     include <cstring>\r
-#     undef strcmp\r
-#  endif\r
-   // fix broken errno declaration:\r
-#  include <errno.h>\r
-#  ifndef errno\r
-#     define errno errno\r
-#  endif\r
-\r
-#endif\r
-\r
-//\r
-// C++0x macros:\r
-//\r
-#define BOOST_HAS_CHAR16_T\r
-#define BOOST_HAS_CHAR32_T\r
-#define BOOST_HAS_LONG_LONG\r
-// #define BOOST_HAS_ALIGNOF\r
-#define BOOST_HAS_DECLTYPE\r
-#define BOOST_HAS_EXPLICIT_CONVERSION_OPS\r
-// #define BOOST_HAS_RVALUE_REFS\r
-#define BOOST_HAS_SCOPED_ENUM\r
-// #define BOOST_HAS_STATIC_ASSERT\r
-#define BOOST_HAS_STD_TYPE_TRAITS\r
-\r
-#define BOOST_NO_AUTO_DECLARATIONS\r
-#define BOOST_NO_AUTO_MULTIDECLARATIONS\r
-#define BOOST_NO_CONCEPTS\r
-#define BOOST_NO_CONSTEXPR\r
-#define BOOST_NO_DEFAULTED_FUNCTIONS\r
-#define BOOST_NO_DELETED_FUNCTIONS\r
-#define BOOST_NO_EXTERN_TEMPLATE\r
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\r
-#define BOOST_NO_INITIALIZER_LISTS\r
-#define BOOST_NO_LAMBDAS\r
-#define BOOST_NO_NULLPTR\r
-#define BOOST_NO_RAW_LITERALS\r
-#define BOOST_NO_RVALUE_REFERENCES\r
-#define BOOST_NO_SFINAE_EXPR\r
-#define BOOST_NO_STATIC_ASSERT\r
-#define BOOST_NO_TEMPLATE_ALIASES\r
-#define BOOST_NO_UNICODE_LITERALS\r
-#define BOOST_NO_VARIADIC_TEMPLATES\r
-\r
-//\r
-// TR1 macros:\r
-//\r
-#define BOOST_HAS_TR1_HASH\r
-#define BOOST_HAS_TR1_TYPE_TRAITS\r
-#define BOOST_HAS_TR1_UNORDERED_MAP\r
-#define BOOST_HAS_TR1_UNORDERED_SET\r
-\r
-#define BOOST_HAS_MACRO_USE_FACET\r
-\r
-#define BOOST_NO_INITIALIZER_LISTS\r
-\r
-// On non-Win32 platforms let the platform config figure this out:\r
-#ifdef _WIN32\r
-#  define BOOST_HAS_STDINT_H\r
-#endif\r
-\r
-//\r
-// __int64:\r
-//\r
-#if !defined(__STRICT_ANSI__)\r
-#  define BOOST_HAS_MS_INT64\r
-#endif\r
-//\r
-// check for exception handling support:\r
-//\r
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)\r
-#  define BOOST_NO_EXCEPTIONS\r
-#endif\r
-//\r
-// all versions have a <dirent.h>:\r
-//\r
-#if !defined(__STRICT_ANSI__)\r
-#  define BOOST_HAS_DIRENT_H\r
-#endif\r
-//\r
-// all versions support __declspec:\r
-//\r
-#if !defined(__STRICT_ANSI__)\r
-#  define BOOST_HAS_DECLSPEC\r
-#endif\r
-//\r
-// ABI fixing headers:\r
-//\r
-#ifndef BOOST_ABI_PREFIX\r
-#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"\r
-#endif\r
-#ifndef BOOST_ABI_SUFFIX\r
-#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"\r
-#endif\r
-//\r
-// Disable Win32 support in ANSI mode:\r
-//\r
-#  pragma defineonoption BOOST_DISABLE_WIN32 -A\r
-//\r
-// MSVC compatibility mode does some nasty things:\r
-// TODO: look up if this doesn't apply to the whole 12xx range\r
-//\r
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)\r
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
-#  define BOOST_NO_VOID_RETURNS\r
-#endif\r
-\r
-#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)\r
-\r
+//  (C) Copyright John Maddock 2001 - 2003.
+//  (C) Copyright David Abrahams 2002 - 2003.
+//  (C) Copyright Aleksey Gurtovoy 2002.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for most recent version.
+
+//  CodeGear C++ compiler setup:
+
+#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
+// these warnings occur frequently in optimized template code
+# pragma warn -8004 // var assigned value, but never used
+# pragma warn -8008 // condition always true/false
+# pragma warn -8066 // dead code can never execute
+# pragma warn -8104 // static members with ctors not threadsafe
+# pragma warn -8105 // reference member in class without ctors
+#endif
+//
+// versions check:
+// last known and checked version is 0x610
+#if (__CODEGEARC__ > 0x613)
+#  if defined(BOOST_ASSERT_CONFIG)
+#     error "Unknown compiler version - please run the configure tests and report the results"
+#  else
+#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
+#  endif
+#endif
+
+// CodeGear C++ Builder 2009
+#if (__CODEGEARC__ <= 0x613)
+#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define BOOST_NO_PRIVATE_IN_AGGREGATE
+#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#  define BOOST_NO_USING_TEMPLATE
+   // we shouldn't really need this - but too many things choke
+   // without it, this needs more investigation:
+#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type
+#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member
+#  define BOOST_SP_NO_SP_CONVERTIBLE
+
+// Temporary hack, until specific MPL preprocessed headers are generated
+#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#  ifdef NDEBUG
+      // fix broken <cstring> so that Boost.test works:
+#     include <cstring>
+#     undef strcmp
+#  endif
+   // fix broken errno declaration:
+#  include <errno.h>
+#  ifndef errno
+#     define errno errno
+#  endif
+
+#endif
+
+//
+// C++0x macros:
+//
+#define BOOST_HAS_CHAR16_T
+#define BOOST_HAS_CHAR32_T
+#define BOOST_HAS_LONG_LONG
+// #define BOOST_HAS_ALIGNOF
+#define BOOST_HAS_DECLTYPE
+#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
+// #define BOOST_HAS_RVALUE_REFS
+#define BOOST_HAS_SCOPED_ENUM
+// #define BOOST_HAS_STATIC_ASSERT
+#define BOOST_HAS_STD_TYPE_TRAITS
+
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
+#define BOOST_NO_CONCEPTS
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define BOOST_NO_INITIALIZER_LISTS
+#define BOOST_NO_LAMBDAS
+#define BOOST_NO_NULLPTR
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SFINAE_EXPR
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_TEMPLATE_ALIASES
+#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_VARIADIC_TEMPLATES
+
+//
+// TR1 macros:
+//
+#define BOOST_HAS_TR1_HASH
+#define BOOST_HAS_TR1_TYPE_TRAITS
+#define BOOST_HAS_TR1_UNORDERED_MAP
+#define BOOST_HAS_TR1_UNORDERED_SET
+
+#define BOOST_HAS_MACRO_USE_FACET
+
+#define BOOST_NO_INITIALIZER_LISTS
+
+// On non-Win32 platforms let the platform config figure this out:
+#ifdef _WIN32
+#  define BOOST_HAS_STDINT_H
+#endif
+
+//
+// __int64:
+//
+#if !defined(__STRICT_ANSI__)
+#  define BOOST_HAS_MS_INT64
+#endif
+//
+// check for exception handling support:
+//
+#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
+#  define BOOST_NO_EXCEPTIONS
+#endif
+//
+// all versions have a <dirent.h>:
+//
+#if !defined(__STRICT_ANSI__)
+#  define BOOST_HAS_DIRENT_H
+#endif
+//
+// all versions support __declspec:
+//
+#if !defined(__STRICT_ANSI__)
+#  define BOOST_HAS_DECLSPEC
+#endif
+//
+// ABI fixing headers:
+//
+#ifndef BOOST_ABI_PREFIX
+#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
+#endif
+#ifndef BOOST_ABI_SUFFIX
+#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
+#endif
+//
+// Disable Win32 support in ANSI mode:
+//
+#  pragma defineonoption BOOST_DISABLE_WIN32 -A
+//
+// MSVC compatibility mode does some nasty things:
+// TODO: look up if this doesn't apply to the whole 12xx range
+//
+#if defined(_MSC_VER) && (_MSC_VER <= 1200)
+#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#  define BOOST_NO_VOID_RETURNS
+#endif
+
+#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
+