Compare commits

...

12 Commits

Author SHA1 Message Date
nobody
013ddfc6aa This commit was manufactured by cvs2svn to create tag
'Version_1_20_2'.

[SVN r9073]
2001-02-10 14:52:07 +00:00
Jens Maurer
c30c6e772a adjust for: _RWSTD_VER is six digits on Borland, four digits on Compaq C++
[SVN r9034]
2001-02-08 17:49:34 +00:00
John Maddock
21d4ae5c2c Fix for Rogue Wave library detection in config.hpp
[SVN r9032]
2001-02-08 12:58:11 +00:00
Jens Maurer
9b7b4524e3 added BOOST_NO_STDC_NAMESPACE for KCC 4.0a and older
because <cwchar> does not have using-declarations to put the contents of
<wchar.h> into namespace std, in contrast to <cstdio>, which does.


[SVN r8945]
2001-02-05 19:54:58 +00:00
Jens Maurer
6b3dd0d1cb added more Solaris deficiencies contributed by Nat Mishkin
[SVN r8861]
2001-02-02 18:57:46 +00:00
Jens Maurer
02a081b3e9 add support for the upcoming gcc 3.0
[SVN r8771]
2001-01-25 21:24:13 +00:00
Jens Maurer
f719f4b515 define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS only if _RWSTD_VER < 0x0203
[SVN r8695]
2001-01-21 21:36:36 +00:00
Dave Abrahams
238be9af6e BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS moved here from cast.hpp
Added missing BOOST_NO_STRINGSTREAM which some boost code seemed to depend on


[SVN r8667]
2001-01-21 05:30:47 +00:00
Beman Dawes
3f280cb058 Conditions for BOOST_NO_STDC_NAMESPACE under MSVC with STLport were not quite right.
[SVN r8640]
2001-01-18 21:28:50 +00:00
Jens Maurer
5b7bbe4533 do not pessimize later versions of SGI MIPSpro and Compaq C++
[SVN r8591]
2001-01-14 18:53:58 +00:00
Jens Maurer
5d11cac82c added BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
added compiler support for SGI IRIX CC and Compaq Tru64 cxx


[SVN r8570]
2001-01-13 10:11:12 +00:00
Beman Dawes
d46dcfbcbb BOOST_DECL fixes
[SVN r8559]
2001-01-12 15:28:20 +00:00

View File

@@ -11,6 +11,12 @@
// http://www.boost.org/libs/config
// Revision History (excluding minor changes for specific compilers)
// 20 Jan 01 BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS moved here from
// cast.hpp. Added missing BOOST_NO_STRINGSTREAM which some
// boost code seemed to depend on. (Dave Abrahams)
// 13 Jan 01 SGI MIPSpro and Compaq Tru64 Unix compiler support added
// (Jens Maurer)
// 13 Jan 01 BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP (Jens Maurer)
// 17 Nov 00 BOOST_NO_AUTO_PTR (John Maddock)
// 4 Oct 00 BOOST_NO_STD_MIN_MAX (Jeremy Siek)
// 29 Sep 00 BOOST_NO_INTEGRAL_INT64_T (Jens Maurer)
@@ -53,6 +59,10 @@
// burden where it should be, on non-conforming compilers. In the future,
// hopefully, less rather than more conformance flags will have to be defined.
// BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP: Compiler does not implement
// argument-dependent lookup (also named Koenig lookup); see std::3.4.2
// [basic.koenig.lookup]
// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS: Template value
// parameters cannot have a dependent type, for example
// "template<class T, typename T::type value> class X { ... };"
@@ -65,6 +75,9 @@
// BOOST_NO_INTEGRAL_INT64_T: int64_t as defined by <boost/cstdint.hpp> is
// not an integral type.
// BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS: constants such as
// numeric_limits<T>::is_signed are not available for use at compile-time.
// BOOST_NO_MEMBER_TEMPLATES: Member template functions not fully supported.
// Also see BOOST_MSVC6_MEMBER_TEMPLATES in the Compiler Control section below.
@@ -119,12 +132,19 @@
// BOOST_DECL: Certain compilers for Microsoft operating systems require
// non-standard class and function decoration if dynamic load library linking
// is desired. BOOST_DECL supplies that decoration, defaulting to a nul string
// so that it is harmless when not required. Boost does not encourage the use
// of BOOST_DECL - it is non-standard and to be avoided if practical to do so.
// BOOST_DECL_EXPORTS: User defined, BOOST_DECL_EXPORTS causes BOOST_DECL to
// be defined as __declspec(dllexport) rather than __declspec(dllimport).
// is desired. BOOST_DECL supplies that decoration. Boost does not require
// use of BOOST_DECL - it is non-standard and to be avoided if practical to do
// so. Even compilers requiring it for DLL's only require it in certain cases.
//
// BOOST_DECL_EXPORTS: User defined, usually via command line or IDE,
// it causes BOOST_DECL to be defined as __declspec(dllexport).
//
// BOOST_DECL_IMPORTS: User defined, usually via command line or IDE,
// it causes BOOST_DECL to be defined as __declspec(dllimport).
//
// If neither BOOST_DECL_EXPORTS nor BOOST_DECL_IMPORTS is defined, or if
// the compiler does not require __declspec() decoration, BOOST_DECL is
// defined as a null string.
// BOOST_MSVC6_MEMBER_TEMPLATES: Microsoft Visual C++ 6.0 has enough member
// template idiosyncrasies (being polite) that BOOST_NO_MEMBER_TEMPLATES is
@@ -150,6 +170,8 @@
// BOOST_NO_SLIST: The C++ implementation does not provide the slist class.
// BOOST_NO_STRINGSTREAM: The C++ implementation does not provide the <sstream> header.
// BOOST_NO_HASH: The C++ implementation does not provide the hash_set
// or hash_map classes.
@@ -187,12 +209,25 @@
# define BOOST_NO_STD_ITERATOR
# define BOOST_NO_LIMITS
# endif
# if !defined(_CXXRT_STD) && !defined(__SGI_STL_OWN_IOSTREAMS)
# define BOOST_NO_STRINGSTREAM
# endif
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
# if __GNUC__ == 2 && __GNUC_MINOR__ <= 8
# define BOOST_NO_MEMBER_TEMPLATES
# endif
# if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
// upcoming gcc 3.0
# include <iterator>
# if defined(__GLIBCPP__)
// The new GNU C++ library has slist, hash_map, hash_set headers
// in <ext/*>, but client code assumes they're in <*> --- Jens M.
# define BOOST_NO_SLIST
# define BOOST_NO_HASH
# endif
# endif
// Kai C++ ------------------------------------------------------------------//
@@ -200,6 +235,27 @@
# define BOOST_NO_SLIST
# define BOOST_NO_HASH
# if __KCC_VERSION <= 4001
// at least on Sun, the contents of <cwchar> is not in namespace std
# define BOOST_NO_STDC_NAMESPACE
# endif
// SGI MIPSpro C++ --------------------------------------------------------
#elif defined __sgi
# if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 240
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
// Compaq Tru64 Unix cxx ---------------------------------------------------
#elif defined __DECCXX
# if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 240
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
// Greenhills C++ -----------------------------------------------------------//
#elif defined __ghs
@@ -211,6 +267,8 @@
#elif defined __BORLANDC__
# define BOOST_NO_SLIST
# define BOOST_NO_HASH
// pull in standard library version:
# include <memory>
# if __BORLANDC__ <= 0x0551
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_PRIVATE_IN_AGGREGATE
@@ -225,10 +283,21 @@
# endif
# endif
# if defined BOOST_DECL_EXPORTS
# if defined BOOST_DECL_IMPORTS
# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
# endif
# define BOOST_DECL __declspec(dllexport)
# else
# elif defined BOOST_DECL_IMPORTS
# define BOOST_DECL __declspec(dllimport)
# else
# define BOOST_DECL
# endif
#if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
// <climits> is partly broken, some macos define symbols that are really in
// namespace std, so you end up having to use illegal constructs like
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
#include <float.h>
#endif
// Intel -------------------------------------------------------------------//
@@ -263,9 +332,14 @@
# define BOOST_SYSTEM_HAS_STDINT_H
# endif
# if defined BOOST_DECL_EXPORTS
# if defined BOOST_DECL_IMPORTS
# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
# endif
# define BOOST_DECL __declspec(dllexport)
# else
# elif defined BOOST_DECL_IMPORTS
# define BOOST_DECL __declspec(dllimport)
# else
# define BOOST_DECL
# endif
# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
@@ -273,6 +347,11 @@
// Sun Workshop Compiler C++ ------------------------------------------------//
# elif defined __SUNPRO_CC
# if __SUNPRO_CC <= 0x520
# define BOOST_NO_SLIST
# define BOOST_NO_HASH
# define BOOST_NO_STD_ITERATOR_TRAITS
# endif
# if __SUNPRO_CC <= 0x500
# define BOOST_NO_MEMBER_TEMPLATES
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
@@ -293,6 +372,7 @@
# if _MSC_VER <= 1200 // 1200 == VC++ 6.0
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_INTRINSIC_WCHAR_T
@@ -340,16 +420,21 @@
// Determine if the standard library implementation is already pulling names
// into std. STLport defines the following if so. (Ed Brey 5 Jun 00)
# ifndef __STL_IMPORT_VENDOR_CSTD
# if !defined( __STL_IMPORT_VENDOR_CSTD ) || defined( __STL_NO_CSTD_FUNCTION_IMPORTS )
# define BOOST_NO_STDC_NAMESPACE
# endif
# endif
# if defined BOOST_DECL_EXPORTS
# if defined BOOST_DECL_IMPORTS
# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
# endif
# define BOOST_DECL __declspec(dllexport)
# else
# elif defined BOOST_DECL_IMPORTS
# define BOOST_DECL __declspec(dllimport)
# else
# define BOOST_DECL
# endif
# endif // Microsoft (excluding Intel/EDG frontend)
@@ -360,6 +445,19 @@
// end of compiler specific portion ----------------------------------------//
#if defined(BOOST_NO_LIMITS) || \
(defined(_RWSTD_VER) && defined(__BORLANDC__) && _RWSTD_VER < 0x020300) || \
(defined(__SGI_STL_PORT) && __SGI_STL_PORT <= 0x410 && __STL_STATIC_CONST_INIT_BUG)
// STLPort 4.0 doesn't define the static constants in numeric_limits<> so that they
// can be used at compile time if the compiler bug indicated by
// __STL_STATIC_CONST_INIT_BUG is present.
// Rogue wave STL (C++ Builder) also has broken numeric_limits
// with default template defining members out of line.
// However, Compaq C++ also uses RogueWave (version 0x0203) and it's ok.
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
#endif
#ifndef BOOST_STD_EXTENSION_NAMESPACE
# define BOOST_STD_EXTENSION_NAMESPACE std
#endif
@@ -410,5 +508,3 @@ namespace std {
#endif // BOOST_CONFIG_HPP