Selectively merged changes in the main trunk into the branch for 1.30.2 release.

[SVN r19569]
This commit is contained in:
John Maddock
2003-08-13 11:32:18 +00:00
parent dc1a500cc6
commit eca02b259d
13 changed files with 95 additions and 79 deletions

View File

@@ -25,26 +25,15 @@
# define BOOST_NO_VOID_RETURNS # define BOOST_NO_VOID_RETURNS
# endif # endif
#endif // version 4245 #endif // version 4245
// //
// enable __int64 support in VC emulation mode // enable __int64 support in VC emulation mode
// we should also set BOOST_HAS_LONG_LONG when that is
// supported, but there is no way we can detect it:
// //
# if defined(_MSC_VER) && (_MSC_VER >= 1200) # if defined(_MSC_VER) && (_MSC_VER >= 1200)
# define BOOST_HAS_MS_INT64 # define BOOST_HAS_MS_INT64
# endif # endif
//
// disable win32 support unless we are in VC emulation mode,
// (what does this do to Como on top of Borland?):
//
#if defined(_WIN32) && (_MSC_VER+0 < 1000)
# define BOOST_DISABLE_WIN32
#endif
#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) #define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
// //

View File

@@ -9,14 +9,19 @@
#include "boost/config/compiler/common_edg.hpp" #include "boost/config/compiler/common_edg.hpp"
#ifdef __ICL #if defined(__INTEL_COMPILER)
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICL) # define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
#elif defined(__ICL)
# define BOOST_INTEL_CXX_VERSION __ICL # define BOOST_INTEL_CXX_VERSION __ICL
#else #elif defined(__ICC)
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICC)
# define BOOST_INTEL_CXX_VERSION __ICC # define BOOST_INTEL_CXX_VERSION __ICC
#elif defined(__ECC)
# define BOOST_INTEL_CXX_VERSION __ECC
#endif #endif
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) #if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS # define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_NO_TEMPLATE_TEMPLATES # define BOOST_NO_TEMPLATE_TEMPLATES
@@ -26,18 +31,17 @@
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) # if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
// Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup // Boost libraries assume strong standard conformance unless otherwise
// in the frontend even in "strict" mode, unless you use // indicated by a config macro. As configured by Intel, the EDG front-end
// -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas Witt) // requires certain compiler options be set to achieve that strong conformance.
// Similarly, -Qoption,cpp,--new_for_init enables new-style "for" loop // Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
// variable scoping. (reported by Thomas Witt) // and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end // details as they apply to particular versions of the compiler. When the
// changes at all. (reported by Kirk Klobe) // compiler does not predefine a macro indicating if an option has been set,
// That can't be right, since it supports template template // this config file simply assumes the option has been set.
// arguments (reported by Dave Abrahams) // Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP // the compiler option is not enabled.
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# define BOOST_NO_SWPRINTF # define BOOST_NO_SWPRINTF
# endif # endif
@@ -50,10 +54,18 @@
#endif #endif
#if _MSC_VER+0 >= 1000 // See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
# ifndef _NATIVE_WCHAR_T_DEFINED #if BOOST_INTEL_CXX_VERSION < 700
# define BOOST_NO_INTRINSIC_WCHAR_T
#else
// _WCHAR_T_DEFINED is the Win32 spelling
// _WCHAR_T is the Linux spelling
# if !defined(_WCHAR_T_DEFINED) && !defined(_WCHAR_T)
# define BOOST_NO_INTRINSIC_WCHAR_T # define BOOST_NO_INTRINSIC_WCHAR_T
# endif # endif
#endif
#if _MSC_VER+0 >= 1000
# if _MSC_VER >= 1200 # if _MSC_VER >= 1200
# define BOOST_HAS_MS_INT64 # define BOOST_HAS_MS_INT64
# endif # endif
@@ -77,7 +89,7 @@
#endif #endif
// //
// last known and checked version: // last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 700) #if (BOOST_INTEL_CXX_VERSION > 800)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER) # elif defined(_MSC_VER)

View File

@@ -13,15 +13,15 @@
#endif #endif
#if (__IBMCPP__ <= 502) #if (__IBMCPP__ <= 502)
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#endif
#if (__IBMCPP__ <= 502) || !defined(BOOST_STRICT_CONFIG)
// Actually the compiler supports inclass member initialization but it // Actually the compiler supports inclass member initialization but it
// requires a definition for the class member and it doesn't recognize // requires a definition for the class member and it doesn't recognize
// it as an integral constant expression when used as a template argument. // it as an integral constant expression when used as a template argument.
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#endif
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
#endif #endif
// //
@@ -40,8 +40,8 @@
#error "Compiler not supported or configured - please reconfigure" #error "Compiler not supported or configured - please reconfigure"
#endif #endif
// //
// last known and checked version is 500: // last known and checked version is 600:
#if (__IBMCPP__ > 502) #if (__IBMCPP__ > 600)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"
# endif # endif

View File

@@ -18,17 +18,15 @@
#define BOOST_NO_SWPRINTF #define BOOST_NO_SWPRINTF
#define BOOST_NO_CWCTYPE #define BOOST_NO_CWCTYPE
#ifdef __GNUC__
// GNU C on HP-UX does not support threads (checked up to gcc 3.3)
# define BOOST_DISABLE_THREADS
#endif
// boilerplate code: // boilerplate code:
#define BOOST_HAS_UNISTD_H #define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp> #include <boost/config/posix_features.hpp>
// HPUX has an incomplete pthreads implementation, so it doesn't
// define _POSIX_THREADS, but it might be enough to implement
// Boost.Threads.
#if !defined(BOOST_HAS_PTHREADS) && defined(_POSIX_THREAD_ATTR_STACKADDR)
# define BOOST_HAS_PTHREADS
#endif
// the following are always available: // the following are always available:
#ifndef BOOST_HAS_GETTIMEOFDAY #ifndef BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_GETTIMEOFDAY

View File

@@ -16,6 +16,10 @@
#define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#ifdef __GNUC__
// GNU C on IRIX does not support threads (checked up to gcc 3.3)
# define BOOST_DISABLE_THREADS
#endif
// boilerplate code: // boilerplate code:
#define BOOST_HAS_UNISTD_H #define BOOST_HAS_UNISTD_H

View File

@@ -25,18 +25,20 @@
# endif # endif
#endif #endif
#if defined(__LIBCOMO__)
// //
// como on linux doesn't have std:: c functions: // como on linux doesn't have std:: c functions:
// NOTE: versions of libcomo prior to beta28 have octal version numbering,
// e.g. version 25 is 21 (dec)
// //
#ifdef __COMO__ # if __LIBCOMO_VERSION__ <= 20
# define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_STDC_NAMESPACE
# endif # endif
// # if __LIBCOMO_VERSION__ <= 21
// Intel on linux doesn't have swprintf in std:: # define BOOST_NO_SWPRINTF
// # endif
#ifdef __ICC
# define BOOST_NO_STDC_NAMESPACE
#endif #endif
// //

View File

@@ -7,7 +7,7 @@
// sun specific config options: // sun specific config options:
#define BOOST_PLATFORM "sun" #define BOOST_PLATFORM "Sun Solaris"
#define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_GETTIMEOFDAY

View File

@@ -13,15 +13,20 @@
# define BOOST_NO_SWPRINTF # define BOOST_NO_SWPRINTF
#endif #endif
#ifndef BOOST_DISABLE_WIN32
// //
// Win32 will normally be using native Win32 threads, // Win32 will normally be using native Win32 threads,
// but there is a pthread library avaliable as an option: // but there is a pthread library avaliable as an option,
// we used to disable this when BOOST_DISABLE_WIN32 was
// defined but no longer - this should allow some
// files to be compiled in strict mode - while maintaining
// a consistent setting of BOOST_HAS_THREADS across
// all translation units (needed for shared_ptr etc).
// //
#ifndef BOOST_HAS_PTHREADS #ifndef BOOST_HAS_PTHREADS
# define BOOST_HAS_WINTHREADS # define BOOST_HAS_WINTHREADS
#endif #endif
#ifndef BOOST_DISABLE_WIN32
// WEK: Added // WEK: Added
#define BOOST_HAS_FTIME #define BOOST_HAS_FTIME

View File

@@ -10,14 +10,18 @@
// locate which compiler we are using and define // locate which compiler we are using and define
// BOOST_COMPILER_CONFIG as needed: // BOOST_COMPILER_CONFIG as needed:
#if defined __GNUC__ # if defined __COMO__
// GNU C++:
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
# elif defined __COMO__
// Comeau C++ // Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
# elif defined __GNUC__
// GNU C++:
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
#elif defined __KCC #elif defined __KCC
// Kai C++ // Kai C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
@@ -38,10 +42,6 @@
// Borland // Borland
# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
#elif defined(__ICL) || defined(__ICC)
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
#elif defined __MWERKS__ #elif defined __MWERKS__
// Metrowerks CodeWarrior // Metrowerks CodeWarrior
# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"

View File

@@ -24,7 +24,7 @@
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" # define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
#elif defined(__LIBCOMO__) #elif defined(__LIBCOMO__)
// Commeau STL: // Comeau STL:
#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" #define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) #elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)

View File

@@ -18,12 +18,13 @@
#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
// full dinkumware 3.06 and above // full dinkumware 3.06 and above
// fully conforming provided the compiler supports it: // fully conforming provided the compiler supports it:
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) // can be defined in yvals.h # if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
# define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_STDC_NAMESPACE
# endif # endif
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) # if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
# define BOOST_NO_STD_ALLOCATOR # define BOOST_NO_STD_ALLOCATOR
# endif # endif
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
# if defined(_MSC_VER) && (_MSC_VER < 1300) # if defined(_MSC_VER) && (_MSC_VER < 1300)
// if this lib version is set up for vc6 then there is no std::use_facet: // if this lib version is set up for vc6 then there is no std::use_facet:
# define BOOST_NO_STD_USE_FACET # define BOOST_NO_STD_USE_FACET
@@ -56,6 +57,7 @@
# endif # endif
#endif #endif
#if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) #if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
// if we're using a dinkum lib that's // if we're using a dinkum lib that's
// been configured for VC6/7 then there is // been configured for VC6/7 then there is

View File

@@ -5,7 +5,7 @@
// See http://www.boost.org for most recent version. // See http://www.boost.org for most recent version.
// Commeau STL: // Comeau STL:
#if !defined(__LIBCOMO__) #if !defined(__LIBCOMO__)
# include <utility> # include <utility>
@@ -15,8 +15,9 @@
#endif #endif
// //
// std::streambuf<wchar_t> is non-standard: // std::streambuf<wchar_t> is non-standard
// // NOTE: versions of libcomo prior to beta28 have octal version numbering,
// e.g. version 25 is 21 (dec)
#if __LIBCOMO_VERSION__ <= 22 #if __LIBCOMO_VERSION__ <= 22
# define BOOST_NO_STD_WSTREAMBUF # define BOOST_NO_STD_WSTREAMBUF
#endif #endif
@@ -29,5 +30,5 @@
// //
#define BOOST_HAS_SGI_TYPE_TRAITS #define BOOST_HAS_SGI_TYPE_TRAITS
#define BOOST_STDLIB "Commeau standard library" BOOST_STRINGIZE(__LIBCOMO_VERSION__) #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)

View File

@@ -49,12 +49,15 @@
// If the streams are not native, and we have a "using ::x" compiler bug // If the streams are not native, and we have a "using ::x" compiler bug
// then the io stream facets are not available in namespace std:: // then the io stream facets are not available in namespace std::
// //
#ifdef _STLPORT_VERSION
# if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) # if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE # define BOOST_NO_STD_LOCALE
# endif # endif
#else
# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) # if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE # define BOOST_NO_STD_LOCALE
# endif # endif
#endif
// //
// Without member template support enabled, their are no template // Without member template support enabled, their are no template