From db614f7ac200f62bda99d6ffd39aab89cf6c5a01 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 24 Nov 2007 12:25:25 +0000 Subject: [PATCH 01/47] Apply patches for building regex on WinCE see: http://lists.boost.org/Archives/boost/2007/11/130839.php [SVN r41327] --- include/boost/config/compiler/visualc.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 233fdb9f..5bc9641b 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -82,9 +82,10 @@ # define BOOST_NO_INTRINSIC_WCHAR_T #endif -#ifdef _WIN32_WCE +#if defined(_WIN32_WCE) || defined(UNDER_CE) # define BOOST_NO_THREADEX # define BOOST_NO_GETSYSTEMTIMEASFILETIME +# define BOOST_NO_SWPRINTF #endif // From 91b9fa574831b46a228d6faa052df15bb5a598e9 Mon Sep 17 00:00:00 2001 From: David Deakins Date: Sat, 24 Nov 2007 20:30:50 +0000 Subject: [PATCH 02/47] Define the BOOST_NO_SWPRINTF macro for WinCE. WinCE's CRT does not have a conforming swprintf signature. [SVN r41344] --- include/boost/config/compiler/visualc.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 5bc9641b..198a7334 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -70,6 +70,11 @@ # define BOOST_NO_SWPRINTF #endif +#if defined(UNDER_CE) +// Windows CE does not have a conforming signature for swprintf +# define BOOST_NO_SWPRINTF +#endif + #if _MSC_VER <= 1400 // 1400 == VC++ 8.0 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif From 6b514abf067486a4d633a78c688133c72bd5b3ff Mon Sep 17 00:00:00 2001 From: Nicola Musatti Date: Fri, 21 Dec 2007 07:03:44 +0000 Subject: [PATCH 03/47] Increased the latest supported version to 5.9.3, corresponding to the December 2007 update. [SVN r42227] --- include/boost/config/compiler/borland.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/boost/config/compiler/borland.hpp b/include/boost/config/compiler/borland.hpp index 3be33927..a593db76 100644 --- a/include/boost/config/compiler/borland.hpp +++ b/include/boost/config/compiler/borland.hpp @@ -17,8 +17,8 @@ #endif // last known and checked version is 0x600 (Builder X preview) -// or 0x592 (CodeGear C++ Builder 2007 Update 3): -#if (__BORLANDC__ > 0x592) && (__BORLANDC__ != 0x600) +// or 0x593 (CodeGear C++ Builder 2007 December 2007 update): +#if (__BORLANDC__ > 0x593) && (__BORLANDC__ != 0x600) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else @@ -106,8 +106,8 @@ # endif #endif -// Borland C++ Builder 2007 Update 3 and below: -#if (__BORLANDC__ <= 0x592) +// Borland C++ Builder 2007 December 2007 Update and below: +#if (__BORLANDC__ <= 0x593) # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # define BOOST_NO_USING_TEMPLATE # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE From 08e7e7512feb1f73fe2fe782c32c08c5c9850a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Sch=C3=B6pflin?= Date: Thu, 3 Jan 2008 10:04:39 +0000 Subject: [PATCH 04/47] Modified spelling of my surname to avoid problems with non-ASCII characters. [SVN r42436] --- include/boost/config/compiler/vacpp.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/config/compiler/vacpp.hpp b/include/boost/config/compiler/vacpp.hpp index b930dafd..11710156 100644 --- a/include/boost/config/compiler/vacpp.hpp +++ b/include/boost/config/compiler/vacpp.hpp @@ -1,7 +1,7 @@ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Toon Knapen 2001 - 2003. // (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schöpflin 2002 - 2003. +// (C) Copyright Markus Schoepflin 2002 - 2003. // (C) Copyright Beman Dawes 2002 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file From b78e4903e15bdad8292e02138cc91563ec07795e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Jan 2008 13:48:57 +0000 Subject: [PATCH 05/47] Update for Intel-10.1. [SVN r42677] --- include/boost/config/compiler/intel.hpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/include/boost/config/compiler/intel.hpp b/include/boost/config/compiler/intel.hpp index 0cd678a0..d639f9a5 100644 --- a/include/boost/config/compiler/intel.hpp +++ b/include/boost/config/compiler/intel.hpp @@ -1,4 +1,4 @@ -// (C) Copyright John Maddock 2001-7. +// (C) Copyright John Maddock 2001-8. // (C) Copyright Peter Dimov 2001. // (C) Copyright Jens Maurer 2001. // (C) Copyright David Abrahams 2002 - 2003. @@ -148,16 +148,15 @@ template<> struct assert_intrinsic_wchar_t {}; #endif // // last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 1000) +#if (BOOST_INTEL_CXX_VERSION > 1010) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # elif defined(_MSC_VER) -# pragma message("Unknown compiler version - please run the configure tests and report the results") +// +// We don't emit this warning any more, since we have so few +// defect macros set anyway (just the one). +// +//# pragma message("Unknown compiler version - please run the configure tests and report the results") # endif #endif - - - - - From d4a4685c73be96625be250662c57df95765dd0cd Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 21 Jan 2008 09:41:17 +0000 Subject: [PATCH 06/47] Only disable wide character support for HP aCC: for gcc the logic is already taken care of in libstdcpp3.hpp. [SVN r42890] --- include/boost/config/platform/hpux.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/boost/config/platform/hpux.hpp b/include/boost/config/platform/hpux.hpp index 25cd8ebc..19ce68e5 100644 --- a/include/boost/config/platform/hpux.hpp +++ b/include/boost/config/platform/hpux.hpp @@ -23,6 +23,8 @@ #if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) # define BOOST_NO_SWPRINTF +#endif +#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE) # define BOOST_NO_CWCTYPE #endif @@ -82,3 +84,4 @@ #ifndef BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1 #endif + From 6f1384143ed8ee6a7a33b72f11bab1f2bf0a24c3 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 7 Feb 2008 09:55:41 +0000 Subject: [PATCH 07/47] Fix last checked version. [SVN r43141] --- include/boost/config/compiler/sunpro_cc.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/config/compiler/sunpro_cc.hpp b/include/boost/config/compiler/sunpro_cc.hpp index afa04ce1..815b56db 100644 --- a/include/boost/config/compiler/sunpro_cc.hpp +++ b/include/boost/config/compiler/sunpro_cc.hpp @@ -84,8 +84,8 @@ #error "Compiler not supported or configured - please reconfigure" #endif // -// last known and checked version is 0x570: -#if (__SUNPRO_CC > 0x580) +// last known and checked version is 0x590: +#if (__SUNPRO_CC > 0x590) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # endif From 5f70565f29e3ab9391e87dad6bc7f08eea722de4 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 10 Feb 2008 09:55:03 +0000 Subject: [PATCH 08/47] Fix some broken links. [SVN r43206] --- doc/config.qbk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/config.qbk b/doc/config.qbk index 7c83880d..0bd3d321 100644 --- a/doc/config.qbk +++ b/doc/config.qbk @@ -19,7 +19,7 @@ Distributed under the Boost Software License, Version 1.0. [/ Cited Boost resources ] -[def __BOOST_REGRESSION_TEST_DRIVER__ [@../../../../more/regression.html boost regression test driver]] +[def __BOOST_REGRESSION_TEST_DRIVER__ [@../../../../tools/regression/doc/index.html boost regression test driver]] [def __BOOST_CONFIG_HEADER__ [@../../../../boost/config.hpp ]] [def __BOOST_CONFIG_USER_HEADER__ [@../../../../boost/config/user.hpp ]] [def __BOOST_CONFIG_SUFFIX_HEADER__ [@../../../../boost/config/user.hpp ]] From db33faa6809e18da8826776cc86e8a14ac61d010 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 21 Feb 2008 17:01:26 +0000 Subject: [PATCH 09/47] Regenerated docs to fix links. [SVN r43359] --- doc/Jamfile.v2 | 20 +++++---- doc/html/boost_config/acknowledgements.html | 9 ++-- .../boost_config/boost_macro_reference.html | 45 +++++++------------ .../guidelines_for_boost_authors.html | 15 +++---- doc/html/boost_config/rationale.html | 9 ++-- doc/html/index.html | 21 ++++----- 6 files changed, 55 insertions(+), 64 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index ce5e46e9..ec4e95ac 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -34,24 +34,26 @@ boostbook standalone html.stylesheet=../../../../doc/html/boostbook.css # PDF Options: - # TOC Generation: this is needed for FOP-0.9 and later: - #fop1.extensions=1 - # Or enable this if you're using XEP: - xep.extensions=1 + pdf:xep.extensions=1 # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9! - fop.extensions=0 + pdf:fop.extensions=0 + pdf:fop1.extensions=0 # No indent on body text: - body.start.indent=0pt + pdf:body.start.indent=0pt # Margin size: - page.margin.inner=0.5in + pdf:page.margin.inner=0.5in # Margin size: - page.margin.outer=0.5in + pdf:page.margin.outer=0.5in + # Paper type = A4 + pdf:paper.type=A4 # Yes, we want graphics for admonishments: admon.graphics=1 # Set this one for PDF generation *only*: # default pnd graphics are awful in PDF form, # better use SVG's instead: pdf:admon.graphics.extension=".svg" + pdf:use.role.for.mediaobject=1 + pdf:preferred.mediaobject.role=print pdf:admon.graphics.path=$(boost-images)/ ; @@ -60,3 +62,5 @@ boostbook standalone + + diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index 11e53886..46aa889b 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -13,8 +13,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
@@ -47,10 +47,11 @@ - +

+

diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 8472e760..5b2d621d 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
@@ -258,8 +258,7 @@ The compiler fails to compile a nested class that has a dependent base class:

-
-template<typename T>
+
template<typename T>
 struct foo : {
    template<typename U>
    struct bar : public U {};
@@ -285,8 +284,7 @@
                 Template value parameters cannot have a dependent type, for example:
                 
 

-
-template<class T, typename T::type value> 
+
template<class T, typename T::type value> 
 class X { ... };
 

@@ -367,8 +365,7 @@ The compiler does not perform function template ordering or its function template ordering is incorrect.

-
-// #1
+
// #1
 template<class T> void f(T);
 
 // #2
@@ -1138,8 +1135,7 @@
                 The compiler does not allow a void function to return the result
                 of calling another void function. 
 

-
-void f() {}
+
void f() {}
 void g() { return f(); }
 

@@ -2280,16 +2276,14 @@ us a convenient way to declare such constants. For example instead of:

-
-struct foo{
+
struct foo{
    static const int value = 2;
 };
 

use:

-
-struct foo{
+
struct foo{
    BOOST_STATIC_CONSTANT(int, value = 2);
 };
 
@@ -2322,8 +2316,7 @@ instantiations if some of the template parameters don't appear in the function parameter list. For instance:

-
-#include <iostream>
+
#include <iostream>
 #include <ostream>
 #include <typeinfo>
 
@@ -2347,8 +2340,7 @@
                 problem without effects on the calling syntax. For instance, in the
                 case above write: 
 

-
-template <int n>
+
template <int n>
 void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
 
 template <typename T>
@@ -2742,8 +2734,7 @@
 

my_library.hpp

-
-#ifndef MY_INCLUDE_GUARD
+
#ifndef MY_INCLUDE_GUARD
 #define MY_INCLUDE_GUARD
 
 // all includes go here:
@@ -2765,8 +2756,7 @@
 

my_library.cpp

-
-...
+
...
 // nothing special need be done in the implementation file
 ...
 
@@ -2831,8 +2821,7 @@

my_library.hpp

-
-...
+
...
 //
 // Don't include auto-linking code if the user has disabled it by
 // defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this 
@@ -2850,8 +2839,7 @@
 

my_library.cpp

-
-// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
+
// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
 // library is being built (possibly exporting rather than importing code)
 //
 #define BOOST_MY_LIBRARY_SOURCE
@@ -2864,10 +2852,11 @@
 
- +

+

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 0700dc5f..922412ed 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
@@ -125,8 +125,7 @@ the test case in a .ipp file with the following comments near the top:

-
-//  MACRO:         BOOST_NO_FOO
+
//  MACRO:         BOOST_NO_FOO
 //  TITLE:         foo
 //  DESCRIPTION:   If the compiler fails to support foo
 
@@ -139,8 +138,7 @@ the same name as the macro, but in all lower case, and which returns zero on success:

-
-namespace boost_no_foo {
+
namespace boost_no_foo {
 
 int test()
 {
@@ -280,10 +278,11 @@
 
- +

+

diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index 39f6eed8..28845631 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
@@ -121,10 +121,11 @@
- +

+

diff --git a/doc/html/index.html b/doc/html/index.html index 0fc5a6d2..f1a6f7c7 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -12,8 +12,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
@@ -28,7 +28,7 @@
-

+

Distributed under 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)

@@ -139,8 +139,7 @@

Boost library implementations access configuration macros via

-
-#include <boost/config.hpp>
+
#include <boost/config.hpp>
 

While Boost library users are not required to include that file directly, @@ -275,8 +274,7 @@ For example to run the configure script with HP aCC, you might use something like:

-
-export CXX="aCC"
+
export CXX="aCC"
 export CXXFLAGS="-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
    -DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"
 export LDFLAGS="-DAportable"
@@ -743,8 +741,7 @@
           there. Finally, open up <boost/config/user.hpp>
           and edit the following defines:
         

-
-#define BOOST_COMPILER_CONFIG "boost/config/mysetup/visualc.hpp"
+
#define BOOST_COMPILER_CONFIG "boost/config/mysetup/visualc.hpp"
 #define BOOST_STDLIB_CONFIG "boost/config/mysetup/stlport.hpp"
 #define BOOST_USER_CONFIG "boost/config/mysetup/win32.hpp"
 
@@ -930,7 +927,7 @@ to help you out:

- If you have built the boost + If you have built the boost regression test driver, then you can use this to produce a nice html formatted report of the results using the supplied test file.

@@ -961,8 +958,8 @@

- - + +

Last revised: November 07, 2007 at 17:16:43 GMT

Last revised: February 21, 2008 at 16:56:38 GMT


Next
From a593af70bbd4a3d64761219079954e13e1501b6d Mon Sep 17 00:00:00 2001 From: "K. Noel Belcourt" Date: Fri, 21 Mar 2008 21:04:36 +0000 Subject: [PATCH 10/47] pgi-7.1 has testable version macros, yeah! [SVN r43781] --- include/boost/config/compiler/pgi.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/boost/config/compiler/pgi.hpp b/include/boost/config/compiler/pgi.hpp index 491497d4..0f88d38e 100644 --- a/include/boost/config/compiler/pgi.hpp +++ b/include/boost/config/compiler/pgi.hpp @@ -7,6 +7,7 @@ // PGI C++ compiler setup: +#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) // @@ -15,10 +16,17 @@ // if no threading API is detected. // +#if (__PGIC__ == 7) && (__PGIC_MINOR__ == 1) + #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_SWPRINTF +#else + +# error "Pgi compiler not configured - please reconfigure" + +#endif // // version check: // probably nothing to do here? From 24c158f3241788e8085d8b642a491b83fa7f789a Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 28 Mar 2008 17:03:42 +0000 Subject: [PATCH 11/47] Added new macro BOOST_NO_ADL_BARRIER to address issue #1712. [SVN r43914] --- doc/html/boost_config/acknowledgements.html | 2 +- .../boost_config/boost_macro_reference.html | 1135 +++-------------- .../guidelines_for_boost_authors.html | 2 +- doc/html/boost_config/rationale.html | 2 +- doc/html/index.html | 6 +- doc/macro_reference.qbk | 4 + include/boost/config/compiler/sunpro_cc.hpp | 1 + include/boost/config/compiler/visualc.hpp | 5 + test/Jamfile.v2 | 5 +- test/config_info.cpp | 2 + test/config_test.cpp | 12 +- 11 files changed, 179 insertions(+), 997 deletions(-) diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index 46aa889b..39e85051 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -11,7 +11,7 @@ - + diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 5b2d621d..916fe7a5 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -12,7 +12,7 @@
Boost C++ LibrariesHomeHome Libraries People FAQ
- + @@ -119,7 +119,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
Boost C++ LibrariesHomeHome Libraries People FAQ

- BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + BOOST_NO_ADL_BARRIER

@@ -129,243 +129,60 @@

- Compiler does not implement argument-dependent lookup (also named - Koenig lookup); see std::3.4.2 [basic.koenig.lookup] + The compiler locates and searches namespaces that it should *not* + in fact search when performing argument dependent lookup.

-

- BOOST_NO_AUTO_PTR -

-
-

- Standard library -

-
-

- If the compiler / library supplies non-standard or broken std::auto_ptr. -

-
-

- BOOST_NO_CTYPE_FUNCTIONS -

-
-

- Platform -

-
-

- The Platform does not provide functions for the character-classifying - operations <ctype.h> and <cctype>, - only macros. -

-
-

- BOOST_NO_CV_SPECIALIZATIONS -

-
-

- Compiler -

-
-

- If template specialisations for cv-qualified types conflict with - a specialisation for a cv-unqualififed type. -

-
-

- BOOST_NO_CV_VOID_SPECIALIZATIONS -

-
-

- Compiler -

-
-

- If template specialisations for cv-void types conflict with a specialisation - for void. -

-
-

- BOOST_NO_CWCHAR -

-
-

- Platform -

-
-

- The Platform does not provide <wchar.h> - and <cwchar>. -

-
-

- BOOST_NO_CWCTYPE -

-
-

- Platform -

-
-

- The Platform does not provide <wctype.h> - and <cwctype>. -

-
-

- BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -

-
-

- Compiler -

-
-

- The compiler fails to compile a nested class that has a dependent - base class: +

+

+ [[BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP][Compiler][ + Compiler does not implement argument-dependent lookup (also named Koenig + lookup); see std::3.4.2 [basic.koenig.lookup] ]] [[BOOST_NO_AUTO_PTR][Standard + library][ If the compiler / library supplies non-standard or broken std::auto_ptr. + ]] [[BOOST_NO_CTYPE_FUNCTIONS][Platform][ + The Platform does not provide functions for the character-classifying operations + <ctype.h> + and <cctype>, only macros. ]] [[BOOST_NO_CV_SPECIALIZATIONS][Compiler][ + If template specialisations for cv-qualified types conflict with a specialisation + for a cv-unqualififed type. ]] [[BOOST_NO_CV_VOID_SPECIALIZATIONS][Compiler][ + If template specialisations for cv-void types conflict with a specialisation + for void. ]] [[BOOST_NO_CWCHAR][Platform][ + The Platform does not provide <wchar.h> and + <cwchar>. ]] [[BOOST_NO_CWCTYPE][Platform][ + The Platform does not provide <wctype.h> and + <cwctype>. ]] [[BOOST_NO_DEPENDENT_NESTED_DERIVATIONS][Compiler][ + The compiler fails to compile a nested class that has a dependent base class: +

-
template<typename T>
+
template<typename T>
 struct foo : {
    template<typename U>
    struct bar : public U {};
 

- }; -

- - - - -

- BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -

- - -

- Compiler -

- - -

- Template value parameters cannot have a dependent type, for example: - + }; ]] [[BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS][Compiler][ + Template value parameters cannot have a dependent type, for example:

-
template<class T, typename T::type value> 
+
template<class T, typename T::type value> 
 class X { ... };
 

-

- - - - -

- BOOST_NO_EXCEPTION_STD_NAMESPACE -

- - -

- Standard Library -

- - -

- The standard library does not put some or all of the contents of - <exception> in namespace std. -

- - - - -

- BOOST_NO_EXCEPTIONS -

- - -

- Compiler -

- - -

- The compiler does not support exception handling (this setting is - typically required by many C++ compilers for embedded platforms). - Note that there is no requirement for boost libraries to honor this - configuration setting - indeed doing so may be impossible in some - cases. Those libraries that do honor this will typically abort if - a critical error occurs - you have been warned! -

- - - - -

- BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -

- - -

- Compiler -

- - -

- Can only use deduced template arguments when calling function template - instantiations. -

- - - - -

- BOOST_NO_FUNCTION_TEMPLATE_ORDERING -

- - -

- Compiler -

- - -

- The compiler does not perform function template ordering or its function - template ordering is incorrect. + ]] [[BOOST_NO_EXCEPTION_STD_NAMESPACE][Standard + Library][ The standard library does not put some or all of the contents of + <exception> in namespace std. ]] [[BOOST_NO_EXCEPTIONS][Compiler][ The compiler + does not support exception handling (this setting is typically required by + many C++ compilers for embedded platforms). Note that there is no requirement + for boost libraries to honor this configuration setting - indeed doing so + may be impossible in some cases. Those libraries that do honor this will + typically abort if a critical error occurs - you have been warned! ]] [[BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS][Compiler][ + Can only use deduced template arguments when calling function template instantiations. + ]] [[BOOST_NO_FUNCTION_TEMPLATE_ORDERING][Compiler][ + The compiler does not perform function template ordering or its function + template ordering is incorrect.

-
// #1
+
// #1
 template<class T> void f(T);
 
 // #2
@@ -376,774 +193,114 @@
 f(&bar); // should choose #2.
 

-

- - - - -

- BOOST_NO_INCLASS_MEMBER_INITIALIZATION -

- - -

- Compiler -

- - -

- Compiler violates std::9.4.2/4. -

- - - - -

- BOOST_NO_INTRINSIC_WCHAR_T -

- - -

- Compiler -

- - -

- The C++ implementation does not provide wchar_t, - or it is really a synonym for another integral type. Use this symbol - to decide whether it is appropriate to explicitly specialize a template - on wchar_t if there - is already a specialization for other integer types. -

- - - - -

- BOOST_NO_IOSFWD -

- - -

- std lib -

- - -

- The standard library lacks <iosfwd>. -

- - - - -

- BOOST_NO_IOSTREAM -

- - -

- std lib -

- - -

- The standard library lacks <iostream>, - <istream> or <ostream>. -

- - - - -

- BOOST_NO_IS_ABSTRACT -

- - -

- Compiler -

- - -

- The C++ compiler does not support SFINAE with abstract types, this - is covered by Core - Language DR337, but is not part of the current standard. - Fortunately most compilers that support SFINAE also support this - DR. -

- - - - -

- BOOST_NO_LIMITS -

- - -

- Standard library -

- - -

- The C++ implementation does not provide the <limits> - header. Never check for this symbol in library code; always include - <boost/limits.hpp>, which guarantees to provide - std::numeric_limits. -

- - - - -

- BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -

- - -

- Standard library -

- - -

- Constants such as numeric_limits<T>::is_signed - are not available for use at compile-time. -

- - - - -

- BOOST_NO_LONG_LONG_NUMERIC_LIMITS -

- - -

- Standard library -

- - -

- There is no specialization for numeric_limits<long - long> - and numeric_limits<unsigned - long long>. <boost/limits.hpp> - will then add these specializations as a standard library "fix" - only if the compiler supports the long - long datatype. -

- - - - -

- BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -

- - -

- Compiler -

- - -

- The compiler does not support the specialization of individual member - functions of template classes. -

- - - - -

- BOOST_NO_MEMBER_TEMPLATE_KEYWORD -

- - -

- Compiler -

- - -

- If the compiler supports member templates, but not the template keyword - when accessing member template classes. -

- - - - -

- BOOST_NO_MEMBER_TEMPLATE_FRIENDS -

- - -

- Compiler -

- - -

- Member template friend syntax (template<class - P> - friend class - frd;) - described in the C++ Standard, 14.5.3, not supported. -

- - - - -

- BOOST_NO_MEMBER_TEMPLATES -

- - -

- Compiler -

- - -

- Member template functions not fully supported. -

- - - - -

- BOOST_NO_MS_INT64_NUMERIC_LIMITS -

- - -

- Standard library -

- - -

- There is no specialization for numeric_limits<__int64> and numeric_limits<unsigned - __int64>. - <boost/limits.hpp> will then add these specializations - as a standard library "fix", only if the compiler supports - the __int64 datatype. -

- - - - -

- BOOST_NO_OPERATORS_IN_NAMESPACE -

- - -

- Compiler -

- - -

- Compiler requires inherited operator friend functions to be defined - at namespace scope, then using'ed to boost. Probably GCC specific. - See <boost/operators.hpp> - for example. -

- - - - -

- BOOST_NO_POINTER_TO_MEMBER_CONST -

- - -

- Compiler -

- - -

- The compiler does not correctly handle pointers to const member functions, - preventing use of these in overloaded function templates. See <boost/functional.hpp> - for example. -

- - - - -

- BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -

- - -

- Compiler -

- - -

- Pointers to members don't work when used as template parameters. -

- - - - -

- BOOST_NO_PRIVATE_IN_AGGREGATE -

- - -

- Compiler -

- - -

- The compiler misreads 8.5.1, treating classes as non-aggregate if - they contain private or protected member functions. -

- - - - -

- BOOST_NO_SFINAE -

- - -

- Compiler -

- - -

- The compiler does not support the "Substitution Failure Is Not - An Error" meta-programming idiom. -

- - - - -

- BOOST_NO_STD_ALLOCATOR -

- - -

- Standard library -

- - -

- The C++ standard library does not provide a standards conforming - std::allocator. -

- - - - -

- BOOST_NO_STD_DISTANCE -

- - -

- Standard library -

- - -

- The platform does not have a conforming version of std::distance. -

- - - - -

- BOOST_NO_STD_ITERATOR -

- - -

- Standard library -

- - -

- The C++ implementation fails to provide the std::iterator - class. -

- - - - -

- BOOST_NO_STD_ITERATOR_TRAITS -

- - -

- Standard library -

- - -

- The compiler does not provide a standard compliant implementation - of std::iterator_traits. Note that the - compiler may still have a non-standard implementation. -

- - - - -

- BOOST_NO_STD_LOCALE -

- - -

- Standard library -

- - -

- The standard library lacks std::locale. -

- - - - -

- BOOST_NO_STD_MESSAGES -

- - -

- Standard library -

- - -

- The standard library lacks a conforming std::messages - facet. -

- - - - -

- BOOST_NO_STD_MIN_MAX -

- - -

- Standard library -

- - -

- The C++ standard library does not provide the min() and max() template functions that should - be in <algorithm>. -

- - - - -

- BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -

- - -

- Standard library -

- - -

- Defined if the standard library's output iterators are not assignable. -

- - - - -

- BOOST_NO_STD_TYPEINFO -

- - -

- Standard library -

- - -

- The <typeinfo> header declares type_info - in the global namespace instead of namespace std. -

- - - - -

- BOOST_NO_STD_USE_FACET -

- - -

- Standard library -

- - -

- The standard library lacks a conforming std::use_facet. -

- - - - -

- BOOST_NO_STD_WSTREAMBUF -

- - -

- Standard library -

- - -

- The standard library's implementation of std::basic_streambuf<wchar_t> is either missing, incomplete, - or buggy. -

- - - - -

- BOOST_NO_STD_WSTRING -

- - -

- Standard library -

- - -

- The standard library lacks std::wstring. -

- - - - -

- BOOST_NO_STDC_NAMESPACE -

- - -

- Compiler, Platform -

- - -

- The contents of C++ standard headers for C library functions (the - <c...> headers) have not been placed - in namespace std. This test is difficult - some libraries "fake" - the std C functions by adding using declarations to import them into - namespace std, unfortunately they don't necessarily catch all of - them... -

- - - - -

- BOOST_NO_STRINGSTREAM -

- - -

- Standard library -

- - -

- The C++ implementation does not provide the <sstream> - header. -

- - - - -

- BOOST_NO_SWPRINTF -

- - -

- Platform -

- - -

- The platform does not have a conforming version of swprintf. -

- - - - -

- BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -

- - -

- Compiler -

- - -

- Class template partial specialization (14.5.4 [temp.class.spec]) - not supported. -

- - - - -

- BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -

- - -

- Standard library -

- - -

- The standard library does not provide templated iterator constructors - for its containers. -

- - - - -

- BOOST_NO_TEMPLATE_TEMPLATES -

- - -

- Compiler -

- - -

- The compiler does not support template template parameters. -

- - - - -

- BOOST_NO_TYPEID -

- - -

- Compiler -

- - -

- The compiler does not support the typeid operator at all. -

- - - - -

- BOOST_NO_UNREACHABLE_RETURN_DETECTION -

- - -

- Compiler -

- - -

- If a return is unreachable, then no return statement should be required, - however some compilers insist on it, while other issue a bunch of - warnings if it is in fact present. -

- - - - -

- BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -

- - -

- Compiler -

- - -

- The compiler will not accept a using declaration that brings a function - from a typename used as a base class into a derived class if functions - of the same name are present in the derived class. -

- - - - -

- BOOST_NO_USING_TEMPLATE -

- - -

- Compiler -

- - -

- The compiler will not accept a using declaration that imports a template - class or function from another namespace. Originally a Borland specific - problem with imports to/from the global namespace, extended to MSVC6 - which has a specific issue with importing template classes (but not - functions). -

- - - - -

- BOOST_NO_VOID_RETURNS -

- - -

- Compiler -

- - -

- The compiler does not allow a void function to return the result - of calling another void function. + ]] [[BOOST_NO_INCLASS_MEMBER_INITIALIZATION][Compiler][ + Compiler violates std::9.4.2/4. ]] [[BOOST_NO_INTRINSIC_WCHAR_T][Compiler][ + The C++ implementation does not provide wchar_t, + or it is really a synonym for another integral type. Use this symbol to decide + whether it is appropriate to explicitly specialize a template on wchar_t if there is already a specialization + for other integer types. ]] [[BOOST_NO_IOSFWD][std + lib][ The standard library lacks <iosfwd>. + ]] [[BOOST_NO_IOSTREAM][std + lib][ The standard library lacks <iostream>, + <istream> or <ostream>. + ]] [[BOOST_NO_IS_ABSTRACT][Compiler][ + The C++ compiler does not support SFINAE with abstract types, this is covered + by Core + Language DR337, but is not part of the current standard. Fortunately + most compilers that support SFINAE also support this DR. ]] [[BOOST_NO_LIMITS][Standard library][ The + C++ implementation does not provide the <limits> + header. Never check for this symbol in library code; always include <boost/limits.hpp>, + which guarantees to provide std::numeric_limits. + ]] [[BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS][Standard + library][ Constants such as numeric_limits<T>::is_signed are not available for use at + compile-time. ]] [[BOOST_NO_LONG_LONG_NUMERIC_LIMITS][Standard + library][ There is no specialization for numeric_limits<long long> and + numeric_limits<unsigned long long>. + <boost/limits.hpp> + will then add these specializations as a standard library "fix" + only if the compiler supports the long + long datatype. ]] [[BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS][Compiler][ + The compiler does not support the specialization of individual member functions + of template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_KEYWORD][Compiler][ + If the compiler supports member templates, but not the template keyword when + accessing member template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_FRIENDS][Compiler][ + Member template friend syntax (template<class P> friend class frd;) described + in the C++ Standard, 14.5.3, not supported. ]] [[BOOST_NO_MEMBER_TEMPLATES][Compiler][ + Member template functions not fully supported. ]] [[BOOST_NO_MS_INT64_NUMERIC_LIMITS][Standard + library][ There is no specialization for numeric_limits<__int64> and numeric_limits<unsigned __int64>. + <boost/limits.hpp> + will then add these specializations as a standard library "fix", + only if the compiler supports the __int64 + datatype. ]] [[BOOST_NO_OPERATORS_IN_NAMESPACE][Compiler][ + Compiler requires inherited operator friend functions to be defined at namespace + scope, then using'ed to boost. Probably GCC specific. See <boost/operators.hpp> + for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_CONST][Compiler][ + The compiler does not correctly handle pointers to const member functions, + preventing use of these in overloaded function templates. See <boost/functional.hpp> + for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS][Compiler][ + Pointers to members don't work when used as template parameters. ]] [[BOOST_NO_PRIVATE_IN_AGGREGATE][Compiler][ + The compiler misreads 8.5.1, treating classes as non-aggregate if they contain + private or protected member functions. ]] [[BOOST_NO_SFINAE][Compiler][ + The compiler does not support the "Substitution Failure Is Not An Error" + meta-programming idiom. ]] [[BOOST_NO_STD_ALLOCATOR][Standard + library][ The C++ standard library does not provide a standards conforming + std::allocator. ]] [[BOOST_NO_STD_DISTANCE][Standard + library][ The platform does not have a conforming version of std::distance. + ]] [[BOOST_NO_STD_ITERATOR][Standard + library][ The C++ implementation fails to provide the std::iterator + class. ]] [[BOOST_NO_STD_ITERATOR_TRAITS][Standard + library][ The compiler does not provide a standard compliant implementation + of std::iterator_traits. Note that the compiler + may still have a non-standard implementation. ]] [[BOOST_NO_STD_LOCALE][Standard + library][ The standard library lacks std::locale. + ]] [[BOOST_NO_STD_MESSAGES][Standard + library][ The standard library lacks a conforming std::messages + facet. ]] [[BOOST_NO_STD_MIN_MAX][Standard + library][ The C++ standard library does not provide the min() and max() template functions that should be in <algorithm>. ]] [[BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN][Standard + library][ Defined if the standard library's output iterators are not assignable. + ]] [[BOOST_NO_STD_TYPEINFO][Standard + library][ The <typeinfo> header declares type_info + in the global namespace instead of namespace std. ]] [[BOOST_NO_STD_USE_FACET][Standard + library][ The standard library lacks a conforming std::use_facet. + ]] [[BOOST_NO_STD_WSTREAMBUF][Standard + library][ The standard library's implementation of std::basic_streambuf<wchar_t> is either missing, incomplete, or buggy. + ]] [[BOOST_NO_STD_WSTRING][Standard + library][ The standard library lacks std::wstring. + ]] [[BOOST_NO_STDC_NAMESPACE][Compiler, + Platform][ The contents of C++ standard headers for C library functions (the + <c...> headers) have not been placed in namespace + std. This test is difficult - some libraries "fake" the std C functions + by adding using declarations to import them into namespace std, unfortunately + they don't necessarily catch all of them... ]] [[BOOST_NO_STRINGSTREAM][Standard + library][ The C++ implementation does not provide the <sstream> + header. ]] [[BOOST_NO_SWPRINTF][Platform][ + The platform does not have a conforming version of swprintf. + ]] [[BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION][Compiler][ + Class template partial specialization (14.5.4 [temp.class.spec]) not supported. + ]] [[BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS][Standard + library][ The standard library does not provide templated iterator constructors + for its containers. ]] [[BOOST_NO_TEMPLATE_TEMPLATES][Compiler][ + The compiler does not support template template parameters. ]] [[BOOST_NO_TYPEID][Compiler][ The compiler + does not support the typeid operator at all. ]] [[BOOST_NO_UNREACHABLE_RETURN_DETECTION][Compiler][ + If a return is unreachable, then no return statement should be required, + however some compilers insist on it, while other issue a bunch of warnings + if it is in fact present. ]] [[BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE][Compiler][ + The compiler will not accept a using declaration that brings a function from + a typename used as a base class into a derived class if functions of the + same name are present in the derived class. ]] [[BOOST_NO_USING_TEMPLATE][Compiler][ + The compiler will not accept a using declaration that imports a template + class or function from another namespace. Originally a Borland specific problem + with imports to/from the global namespace, extended to MSVC6 which has a + specific issue with importing template classes (but not functions). ]] [[BOOST_NO_VOID_RETURNS][Compiler][ The compiler + does not allow a void function to return the result of calling another void + function.

-
void f() {}
+
void f() {}
 void g() { return f(); }
 

-

- - - - + ]] ] +

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 922412ed..0b53b618 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -12,7 +12,7 @@ - + diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index 28845631..3568c400 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -12,7 +12,7 @@
Boost C++ LibrariesHomeHome Libraries People FAQ
- + diff --git a/doc/html/index.html b/doc/html/index.html index f1a6f7c7..030bea81 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -10,7 +10,7 @@
Boost C++ LibrariesHomeHome Libraries People FAQ
- + @@ -28,7 +28,7 @@
-

+

Distributed under 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)

@@ -958,7 +958,7 @@

Boost C++ LibrariesHomeHome Libraries People FAQ
- +

Last revised: February 21, 2008 at 16:56:38 GMT

Last revised: March 28, 2008 at 17:01:32 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 546d1a7b..2e4b026d 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -38,6 +38,10 @@ symbol being looked up in the current scope. For example, using in namespaces nested inside boost (but not elsewhere). Probably Borland specific. ]] +[[`BOOST_NO_ADL_BARRIER`][Compiler][ +The compiler locates and searches namespaces that it should /*not*/ in fact +search when performing argument dependent lookup.] +]] [[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][ Compiler does not implement argument-dependent lookup (also named Koenig lookup); see std::3.4.2 \[basic.koenig.lookup\] diff --git a/include/boost/config/compiler/sunpro_cc.hpp b/include/boost/config/compiler/sunpro_cc.hpp index 815b56db..436fa152 100644 --- a/include/boost/config/compiler/sunpro_cc.hpp +++ b/include/boost/config/compiler/sunpro_cc.hpp @@ -67,6 +67,7 @@ # endif # if (__SUNPRO_CC <= 0x580) # define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_ADL_BARRIER # endif // diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 198a7334..b75dc283 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -83,6 +83,11 @@ # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif +#if _MSC_VER == 1500 // 1500 == VC++ 9.0 + // A bug in VC9: +# define BOOST_NO_ADL_BARRIER +#endif + #ifndef _NATIVE_WCHAR_T_DEFINED # define BOOST_NO_INTRINSIC_WCHAR_T #endif diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 04cbaaa2..88ab7077 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Fri Oct 19 13:34:11 2007 +# This file was automatically generated on Fri Mar 28 16:52:14 2008 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -173,6 +173,9 @@ test-suite "BOOST_MSVC_STD_ITERATOR" : test-suite "BOOST_HAS_WINTHREADS" : [ run has_winthreads_pass.cpp ] [ compile-fail has_winthreads_fail.cpp ] ; +test-suite "BOOST_NO_ADL_BARRIER" : +[ run no_adl_barrier_pass.cpp ] +[ compile-fail no_adl_barrier_fail.cpp ] ; test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" : [ run no_arg_dep_lookup_pass.cpp ] [ compile-fail no_arg_dep_lookup_fail.cpp ] ; diff --git a/test/config_info.cpp b/test/config_info.cpp index 75e713d1..d4d283f4 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -952,6 +952,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_HAS_WINTHREADS); PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); + PRINT_MACRO(BOOST_NO_ADL_BARRIER); PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_AUTO_PTR); @@ -1019,6 +1020,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 9361d6f9..5f8b3965 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Fri Oct 19 13:34:11 2007 +// This file was automatically generated on Fri Mar 28 16:52:14 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -22,6 +22,11 @@ int error_count = 0; +#ifndef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +namespace boost_no_adl_barrier = empty_boost; +#endif #ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP #include "boost_no_arg_dep_lookup.ipp" #else @@ -841,6 +846,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_adl_barrier::test()) + { + std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_argument_dependent_lookup::test()) { std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl; From da6e707602081e45eafe5378436c9b581d279f71 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 29 Mar 2008 16:27:34 +0000 Subject: [PATCH 12/47] Added missing files: from addition of new config macro BOOST_NO_ADL_BARRIER. [SVN r43927] --- test/boost_no_adl_barrier.ipp | 38 +++++++++++++++++++++++++++++++++++ test/no_adl_barrier_fail.cpp | 37 ++++++++++++++++++++++++++++++++++ test/no_adl_barrier_pass.cpp | 37 ++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 test/boost_no_adl_barrier.ipp create mode 100644 test/no_adl_barrier_fail.cpp create mode 100644 test/no_adl_barrier_pass.cpp diff --git a/test/boost_no_adl_barrier.ipp b/test/boost_no_adl_barrier.ipp new file mode 100644 index 00000000..4065df09 --- /dev/null +++ b/test/boost_no_adl_barrier.ipp @@ -0,0 +1,38 @@ +// (C) Copyright John Maddock 2008. +// 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/libs/config for most recent version. + +// MACRO: BOOST_NO_ADL_BARRIER +// TITLE: Working ADL barriers. +// DESCRIPTION: If the compiler correctly handles ADL. + +namespace boost_no_adl_barrier{ + +namespace xxx { + namespace nested { + struct aaa {}; + } + void begin(nested::aaa) {} +} + +namespace nnn { + void begin(xxx::nested::aaa) {} +} + +int test() +{ + using namespace nnn; + xxx::nested::aaa a; + begin(a); // ambiguous error in msvc-9.0 + + return 0; +} + +} + + + + diff --git a/test/no_adl_barrier_fail.cpp b/test/no_adl_barrier_fail.cpp new file mode 100644 index 00000000..a21e0b3b --- /dev/null +++ b/test/no_adl_barrier_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Mar 28 16:52:13 2008 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// 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/libs/config for the most recent version.// +// Revision $Id: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_ADL_BARRIER +// This file should not compile, if it does then +// BOOST_NO_ADL_BARRIER should not be defined. +// See file boost_no_adl_barrier.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifdef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_adl_barrier::test(); +} + diff --git a/test/no_adl_barrier_pass.cpp b/test/no_adl_barrier_pass.cpp new file mode 100644 index 00000000..39bef3fb --- /dev/null +++ b/test/no_adl_barrier_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Mar 28 16:52:13 2008 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// 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/libs/config for the most recent version.// +// Revision $Id: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_ADL_BARRIER +// This file should compile, if it does not then +// BOOST_NO_ADL_BARRIER should be defined. +// See file boost_no_adl_barrier.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifndef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +namespace boost_no_adl_barrier = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_adl_barrier::test(); +} + From 6f2afd458cdc39bd5eb46ba00d9d45a8308f1cea Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Tue, 1 Apr 2008 17:16:04 +0000 Subject: [PATCH 13/47] Add 'import testing'. This is necessary so that things work when Boost.Serialization Jamfiles directly depend on some of the config tests. [SVN r43985] --- test/Jamfile.v2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 88ab7077..01638df7 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -11,6 +11,8 @@ # If you need to alter build preferences then set them in # the template defined in options_v2.jam. # +import testing ; + path-constant DOT : . ; include $(DOT)/options_v2.jam ; From 20818b64111bd6b80a5447ff9e9a23dfbaee9f4e Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Wed, 2 Apr 2008 01:42:32 +0000 Subject: [PATCH 14/47] Replaced all occurrences of non-ASCII copyright symbol with '(c)' for people using non-ASCII code pages [SVN r43992] --- include/boost/config/abi_prefix.hpp | 2 +- include/boost/config/abi_suffix.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/config/abi_prefix.hpp b/include/boost/config/abi_prefix.hpp index a785cff0..3b134749 100644 --- a/include/boost/config/abi_prefix.hpp +++ b/include/boost/config/abi_prefix.hpp @@ -1,6 +1,6 @@ // abi_prefix header -------------------------------------------------------// -// © Copyright John Maddock 2003 +// (c) Copyright John Maddock 2003 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff --git a/include/boost/config/abi_suffix.hpp b/include/boost/config/abi_suffix.hpp index d49417a9..76ccb06d 100644 --- a/include/boost/config/abi_suffix.hpp +++ b/include/boost/config/abi_suffix.hpp @@ -1,6 +1,6 @@ // abi_sufffix header -------------------------------------------------------// -// © Copyright John Maddock 2003 +// (c) Copyright John Maddock 2003 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at From 1ce5a784ae7553d27b4f7329145424d366393777 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 4 Apr 2008 09:07:48 +0000 Subject: [PATCH 15/47] Oops, fix mangled docs. [SVN r44029] --- .../boost_config/boost_macro_reference.html | 1145 +++++++++++++++-- doc/html/index.html | 4 +- doc/macro_reference.qbk | 2 +- 3 files changed, 1006 insertions(+), 145 deletions(-) diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 916fe7a5..ac8f1c1f 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -134,55 +134,256 @@

- - -

- [[BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP][Compiler][ - Compiler does not implement argument-dependent lookup (also named Koenig - lookup); see std::3.4.2 [basic.koenig.lookup] ]] [[BOOST_NO_AUTO_PTR][Standard - library][ If the compiler / library supplies non-standard or broken std::auto_ptr. - ]] [[BOOST_NO_CTYPE_FUNCTIONS][Platform][ - The Platform does not provide functions for the character-classifying operations - <ctype.h> - and <cctype>, only macros. ]] [[BOOST_NO_CV_SPECIALIZATIONS][Compiler][ - If template specialisations for cv-qualified types conflict with a specialisation - for a cv-unqualififed type. ]] [[BOOST_NO_CV_VOID_SPECIALIZATIONS][Compiler][ - If template specialisations for cv-void types conflict with a specialisation - for void. ]] [[BOOST_NO_CWCHAR][Platform][ - The Platform does not provide <wchar.h> and - <cwchar>. ]] [[BOOST_NO_CWCTYPE][Platform][ - The Platform does not provide <wctype.h> and - <cwctype>. ]] [[BOOST_NO_DEPENDENT_NESTED_DERIVATIONS][Compiler][ - The compiler fails to compile a nested class that has a dependent base class: - + + +

+ BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +

+ + +

+ Compiler +

+ + +

+ Compiler does not implement argument-dependent lookup (also named + Koenig lookup); see std::3.4.2 [basic.koenig.lookup] +

+ + + + +

+ BOOST_NO_AUTO_PTR +

+ + +

+ Standard library +

+ + +

+ If the compiler / library supplies non-standard or broken std::auto_ptr. +

+ + + + +

+ BOOST_NO_CTYPE_FUNCTIONS +

+ + +

+ Platform +

+ + +

+ The Platform does not provide functions for the character-classifying + operations <ctype.h> and <cctype>, + only macros. +

+ + + + +

+ BOOST_NO_CV_SPECIALIZATIONS +

+ + +

+ Compiler +

+ + +

+ If template specialisations for cv-qualified types conflict with + a specialisation for a cv-unqualififed type. +

+ + + + +

+ BOOST_NO_CV_VOID_SPECIALIZATIONS +

+ + +

+ Compiler +

+ + +

+ If template specialisations for cv-void types conflict with a specialisation + for void. +

+ + + + +

+ BOOST_NO_CWCHAR +

+ + +

+ Platform +

+ + +

+ The Platform does not provide <wchar.h> + and <cwchar>. +

+ + + + +

+ BOOST_NO_CWCTYPE +

+ + +

+ Platform +

+ + +

+ The Platform does not provide <wctype.h> + and <cwctype>. +

+ + + + +

+ BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +

+ + +

+ Compiler +

+ + +

+ The compiler fails to compile a nested class that has a dependent + base class:

-
template<typename T>
+
template<typename T>
 struct foo : {
    template<typename U>
    struct bar : public U {};
 

- }; ]] [[BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS][Compiler][ - Template value parameters cannot have a dependent type, for example: + }; +

+ + + + +

+ BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +

+ + +

+ Compiler +

+ + +

+ Template value parameters cannot have a dependent type, for example: +

-
template<class T, typename T::type value> 
+
template<class T, typename T::type value> 
 class X { ... };
 

- ]] [[BOOST_NO_EXCEPTION_STD_NAMESPACE][Standard - Library][ The standard library does not put some or all of the contents of - <exception> in namespace std. ]] [[BOOST_NO_EXCEPTIONS][Compiler][ The compiler - does not support exception handling (this setting is typically required by - many C++ compilers for embedded platforms). Note that there is no requirement - for boost libraries to honor this configuration setting - indeed doing so - may be impossible in some cases. Those libraries that do honor this will - typically abort if a critical error occurs - you have been warned! ]] [[BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS][Compiler][ - Can only use deduced template arguments when calling function template instantiations. - ]] [[BOOST_NO_FUNCTION_TEMPLATE_ORDERING][Compiler][ - The compiler does not perform function template ordering or its function - template ordering is incorrect. +

+ + + + +

+ BOOST_NO_EXCEPTION_STD_NAMESPACE +

+ + +

+ Standard Library +

+ + +

+ The standard library does not put some or all of the contents of + <exception> in namespace std. +

+ + + + +

+ BOOST_NO_EXCEPTIONS +

+ + +

+ Compiler +

+ + +

+ The compiler does not support exception handling (this setting is + typically required by many C++ compilers for embedded platforms). + Note that there is no requirement for boost libraries to honor this + configuration setting - indeed doing so may be impossible in some + cases. Those libraries that do honor this will typically abort if + a critical error occurs - you have been warned! +

+ + + + +

+ BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +

+ + +

+ Compiler +

+ + +

+ Can only use deduced template arguments when calling function template + instantiations. +

+ + + + +

+ BOOST_NO_FUNCTION_TEMPLATE_ORDERING +

+ + +

+ Compiler +

+ + +

+ The compiler does not perform function template ordering or its function + template ordering is incorrect.

-
// #1
+
// #1
 template<class T> void f(T);
 
 // #2
@@ -193,114 +394,774 @@
 f(&bar); // should choose #2.
 

- ]] [[BOOST_NO_INCLASS_MEMBER_INITIALIZATION][Compiler][ - Compiler violates std::9.4.2/4. ]] [[BOOST_NO_INTRINSIC_WCHAR_T][Compiler][ - The C++ implementation does not provide wchar_t, - or it is really a synonym for another integral type. Use this symbol to decide - whether it is appropriate to explicitly specialize a template on wchar_t if there is already a specialization - for other integer types. ]] [[BOOST_NO_IOSFWD][std - lib][ The standard library lacks <iosfwd>. - ]] [[BOOST_NO_IOSTREAM][std - lib][ The standard library lacks <iostream>, - <istream> or <ostream>. - ]] [[BOOST_NO_IS_ABSTRACT][Compiler][ - The C++ compiler does not support SFINAE with abstract types, this is covered - by Core - Language DR337, but is not part of the current standard. Fortunately - most compilers that support SFINAE also support this DR. ]] [[BOOST_NO_LIMITS][Standard library][ The - C++ implementation does not provide the <limits> - header. Never check for this symbol in library code; always include <boost/limits.hpp>, - which guarantees to provide std::numeric_limits. - ]] [[BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS][Standard - library][ Constants such as numeric_limits<T>::is_signed are not available for use at - compile-time. ]] [[BOOST_NO_LONG_LONG_NUMERIC_LIMITS][Standard - library][ There is no specialization for numeric_limits<long long> and - numeric_limits<unsigned long long>. - <boost/limits.hpp> - will then add these specializations as a standard library "fix" - only if the compiler supports the long - long datatype. ]] [[BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS][Compiler][ - The compiler does not support the specialization of individual member functions - of template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_KEYWORD][Compiler][ - If the compiler supports member templates, but not the template keyword when - accessing member template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_FRIENDS][Compiler][ - Member template friend syntax (template<class P> friend class frd;) described - in the C++ Standard, 14.5.3, not supported. ]] [[BOOST_NO_MEMBER_TEMPLATES][Compiler][ - Member template functions not fully supported. ]] [[BOOST_NO_MS_INT64_NUMERIC_LIMITS][Standard - library][ There is no specialization for numeric_limits<__int64> and numeric_limits<unsigned __int64>. - <boost/limits.hpp> - will then add these specializations as a standard library "fix", - only if the compiler supports the __int64 - datatype. ]] [[BOOST_NO_OPERATORS_IN_NAMESPACE][Compiler][ - Compiler requires inherited operator friend functions to be defined at namespace - scope, then using'ed to boost. Probably GCC specific. See <boost/operators.hpp> - for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_CONST][Compiler][ - The compiler does not correctly handle pointers to const member functions, - preventing use of these in overloaded function templates. See <boost/functional.hpp> - for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS][Compiler][ - Pointers to members don't work when used as template parameters. ]] [[BOOST_NO_PRIVATE_IN_AGGREGATE][Compiler][ - The compiler misreads 8.5.1, treating classes as non-aggregate if they contain - private or protected member functions. ]] [[BOOST_NO_SFINAE][Compiler][ - The compiler does not support the "Substitution Failure Is Not An Error" - meta-programming idiom. ]] [[BOOST_NO_STD_ALLOCATOR][Standard - library][ The C++ standard library does not provide a standards conforming - std::allocator. ]] [[BOOST_NO_STD_DISTANCE][Standard - library][ The platform does not have a conforming version of std::distance. - ]] [[BOOST_NO_STD_ITERATOR][Standard - library][ The C++ implementation fails to provide the std::iterator - class. ]] [[BOOST_NO_STD_ITERATOR_TRAITS][Standard - library][ The compiler does not provide a standard compliant implementation - of std::iterator_traits. Note that the compiler - may still have a non-standard implementation. ]] [[BOOST_NO_STD_LOCALE][Standard - library][ The standard library lacks std::locale. - ]] [[BOOST_NO_STD_MESSAGES][Standard - library][ The standard library lacks a conforming std::messages - facet. ]] [[BOOST_NO_STD_MIN_MAX][Standard - library][ The C++ standard library does not provide the min() and max() template functions that should be in <algorithm>. ]] [[BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN][Standard - library][ Defined if the standard library's output iterators are not assignable. - ]] [[BOOST_NO_STD_TYPEINFO][Standard - library][ The <typeinfo> header declares type_info - in the global namespace instead of namespace std. ]] [[BOOST_NO_STD_USE_FACET][Standard - library][ The standard library lacks a conforming std::use_facet. - ]] [[BOOST_NO_STD_WSTREAMBUF][Standard - library][ The standard library's implementation of std::basic_streambuf<wchar_t> is either missing, incomplete, or buggy. - ]] [[BOOST_NO_STD_WSTRING][Standard - library][ The standard library lacks std::wstring. - ]] [[BOOST_NO_STDC_NAMESPACE][Compiler, - Platform][ The contents of C++ standard headers for C library functions (the - <c...> headers) have not been placed in namespace - std. This test is difficult - some libraries "fake" the std C functions - by adding using declarations to import them into namespace std, unfortunately - they don't necessarily catch all of them... ]] [[BOOST_NO_STRINGSTREAM][Standard - library][ The C++ implementation does not provide the <sstream> - header. ]] [[BOOST_NO_SWPRINTF][Platform][ - The platform does not have a conforming version of swprintf. - ]] [[BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION][Compiler][ - Class template partial specialization (14.5.4 [temp.class.spec]) not supported. - ]] [[BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS][Standard - library][ The standard library does not provide templated iterator constructors - for its containers. ]] [[BOOST_NO_TEMPLATE_TEMPLATES][Compiler][ - The compiler does not support template template parameters. ]] [[BOOST_NO_TYPEID][Compiler][ The compiler - does not support the typeid operator at all. ]] [[BOOST_NO_UNREACHABLE_RETURN_DETECTION][Compiler][ - If a return is unreachable, then no return statement should be required, - however some compilers insist on it, while other issue a bunch of warnings - if it is in fact present. ]] [[BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE][Compiler][ - The compiler will not accept a using declaration that brings a function from - a typename used as a base class into a derived class if functions of the - same name are present in the derived class. ]] [[BOOST_NO_USING_TEMPLATE][Compiler][ - The compiler will not accept a using declaration that imports a template - class or function from another namespace. Originally a Borland specific problem - with imports to/from the global namespace, extended to MSVC6 which has a - specific issue with importing template classes (but not functions). ]] [[BOOST_NO_VOID_RETURNS][Compiler][ The compiler - does not allow a void function to return the result of calling another void - function. +

+ + + + +

+ BOOST_NO_INCLASS_MEMBER_INITIALIZATION +

+ + +

+ Compiler +

+ + +

+ Compiler violates std::9.4.2/4. +

+ + + + +

+ BOOST_NO_INTRINSIC_WCHAR_T +

+ + +

+ Compiler +

+ + +

+ The C++ implementation does not provide wchar_t, + or it is really a synonym for another integral type. Use this symbol + to decide whether it is appropriate to explicitly specialize a template + on wchar_t if there + is already a specialization for other integer types. +

+ + + + +

+ BOOST_NO_IOSFWD +

+ + +

+ std lib +

+ + +

+ The standard library lacks <iosfwd>. +

+ + + + +

+ BOOST_NO_IOSTREAM +

+ + +

+ std lib +

+ + +

+ The standard library lacks <iostream>, + <istream> or <ostream>. +

+ + + + +

+ BOOST_NO_IS_ABSTRACT +

+ + +

+ Compiler +

+ + +

+ The C++ compiler does not support SFINAE with abstract types, this + is covered by Core + Language DR337, but is not part of the current standard. + Fortunately most compilers that support SFINAE also support this + DR. +

+ + + + +

+ BOOST_NO_LIMITS +

+ + +

+ Standard library +

+ + +

+ The C++ implementation does not provide the <limits> + header. Never check for this symbol in library code; always include + <boost/limits.hpp>, which guarantees to provide + std::numeric_limits. +

+ + + + +

+ BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +

+ + +

+ Standard library +

+ + +

+ Constants such as numeric_limits<T>::is_signed + are not available for use at compile-time. +

+ + + + +

+ BOOST_NO_LONG_LONG_NUMERIC_LIMITS +

+ + +

+ Standard library +

+ + +

+ There is no specialization for numeric_limits<long + long> + and numeric_limits<unsigned + long long>. <boost/limits.hpp> + will then add these specializations as a standard library "fix" + only if the compiler supports the long + long datatype. +

+ + + + +

+ BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +

+ + +

+ Compiler +

+ + +

+ The compiler does not support the specialization of individual member + functions of template classes. +

+ + + + +

+ BOOST_NO_MEMBER_TEMPLATE_KEYWORD +

+ + +

+ Compiler +

+ + +

+ If the compiler supports member templates, but not the template keyword + when accessing member template classes. +

+ + + + +

+ BOOST_NO_MEMBER_TEMPLATE_FRIENDS +

+ + +

+ Compiler +

+ + +

+ Member template friend syntax (template<class + P> + friend class + frd;) + described in the C++ Standard, 14.5.3, not supported. +

+ + + + +

+ BOOST_NO_MEMBER_TEMPLATES +

+ + +

+ Compiler +

+ + +

+ Member template functions not fully supported. +

+ + + + +

+ BOOST_NO_MS_INT64_NUMERIC_LIMITS +

+ + +

+ Standard library +

+ + +

+ There is no specialization for numeric_limits<__int64> and numeric_limits<unsigned + __int64>. + <boost/limits.hpp> will then add these specializations + as a standard library "fix", only if the compiler supports + the __int64 datatype. +

+ + + + +

+ BOOST_NO_OPERATORS_IN_NAMESPACE +

+ + +

+ Compiler +

+ + +

+ Compiler requires inherited operator friend functions to be defined + at namespace scope, then using'ed to boost. Probably GCC specific. + See <boost/operators.hpp> + for example. +

+ + + + +

+ BOOST_NO_POINTER_TO_MEMBER_CONST +

+ + +

+ Compiler +

+ + +

+ The compiler does not correctly handle pointers to const member functions, + preventing use of these in overloaded function templates. See <boost/functional.hpp> + for example. +

+ + + + +

+ BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +

+ + +

+ Compiler +

+ + +

+ Pointers to members don't work when used as template parameters. +

+ + + + +

+ BOOST_NO_PRIVATE_IN_AGGREGATE +

+ + +

+ Compiler +

+ + +

+ The compiler misreads 8.5.1, treating classes as non-aggregate if + they contain private or protected member functions. +

+ + + + +

+ BOOST_NO_SFINAE +

+ + +

+ Compiler +

+ + +

+ The compiler does not support the "Substitution Failure Is Not + An Error" meta-programming idiom. +

+ + + + +

+ BOOST_NO_STD_ALLOCATOR +

+ + +

+ Standard library +

+ + +

+ The C++ standard library does not provide a standards conforming + std::allocator. +

+ + + + +

+ BOOST_NO_STD_DISTANCE +

+ + +

+ Standard library +

+ + +

+ The platform does not have a conforming version of std::distance. +

+ + + + +

+ BOOST_NO_STD_ITERATOR +

+ + +

+ Standard library +

+ + +

+ The C++ implementation fails to provide the std::iterator + class. +

+ + + + +

+ BOOST_NO_STD_ITERATOR_TRAITS +

+ + +

+ Standard library +

+ + +

+ The compiler does not provide a standard compliant implementation + of std::iterator_traits. Note that the + compiler may still have a non-standard implementation. +

+ + + + +

+ BOOST_NO_STD_LOCALE +

+ + +

+ Standard library +

+ + +

+ The standard library lacks std::locale. +

+ + + + +

+ BOOST_NO_STD_MESSAGES +

+ + +

+ Standard library +

+ + +

+ The standard library lacks a conforming std::messages + facet. +

+ + + + +

+ BOOST_NO_STD_MIN_MAX +

+ + +

+ Standard library +

+ + +

+ The C++ standard library does not provide the min() and max() template functions that should + be in <algorithm>. +

+ + + + +

+ BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +

+ + +

+ Standard library +

+ + +

+ Defined if the standard library's output iterators are not assignable. +

+ + + + +

+ BOOST_NO_STD_TYPEINFO +

+ + +

+ Standard library +

+ + +

+ The <typeinfo> header declares type_info + in the global namespace instead of namespace std. +

+ + + + +

+ BOOST_NO_STD_USE_FACET +

+ + +

+ Standard library +

+ + +

+ The standard library lacks a conforming std::use_facet. +

+ + + + +

+ BOOST_NO_STD_WSTREAMBUF +

+ + +

+ Standard library +

+ + +

+ The standard library's implementation of std::basic_streambuf<wchar_t> is either missing, incomplete, + or buggy. +

+ + + + +

+ BOOST_NO_STD_WSTRING +

+ + +

+ Standard library +

+ + +

+ The standard library lacks std::wstring. +

+ + + + +

+ BOOST_NO_STDC_NAMESPACE +

+ + +

+ Compiler, Platform +

+ + +

+ The contents of C++ standard headers for C library functions (the + <c...> headers) have not been placed + in namespace std. This test is difficult - some libraries "fake" + the std C functions by adding using declarations to import them into + namespace std, unfortunately they don't necessarily catch all of + them... +

+ + + + +

+ BOOST_NO_STRINGSTREAM +

+ + +

+ Standard library +

+ + +

+ The C++ implementation does not provide the <sstream> + header. +

+ + + + +

+ BOOST_NO_SWPRINTF +

+ + +

+ Platform +

+ + +

+ The platform does not have a conforming version of swprintf. +

+ + + + +

+ BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +

+ + +

+ Compiler +

+ + +

+ Class template partial specialization (14.5.4 [temp.class.spec]) + not supported. +

+ + + + +

+ BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +

+ + +

+ Standard library +

+ + +

+ The standard library does not provide templated iterator constructors + for its containers. +

+ + + + +

+ BOOST_NO_TEMPLATE_TEMPLATES +

+ + +

+ Compiler +

+ + +

+ The compiler does not support template template parameters. +

+ + + + +

+ BOOST_NO_TYPEID +

+ + +

+ Compiler +

+ + +

+ The compiler does not support the typeid operator at all. +

+ + + + +

+ BOOST_NO_UNREACHABLE_RETURN_DETECTION +

+ + +

+ Compiler +

+ + +

+ If a return is unreachable, then no return statement should be required, + however some compilers insist on it, while other issue a bunch of + warnings if it is in fact present. +

+ + + + +

+ BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +

+ + +

+ Compiler +

+ + +

+ The compiler will not accept a using declaration that brings a function + from a typename used as a base class into a derived class if functions + of the same name are present in the derived class. +

+ + + + +

+ BOOST_NO_USING_TEMPLATE +

+ + +

+ Compiler +

+ + +

+ The compiler will not accept a using declaration that imports a template + class or function from another namespace. Originally a Borland specific + problem with imports to/from the global namespace, extended to MSVC6 + which has a specific issue with importing template classes (but not + functions). +

+ + + + +

+ BOOST_NO_VOID_RETURNS +

+ + +

+ Compiler +

+ + +

+ The compiler does not allow a void function to return the result + of calling another void function.

-
void f() {}
+
void f() {}
 void g() { return f(); }
 

- ]] ] -

+

+ + + +

diff --git a/doc/html/index.html b/doc/html/index.html index 030bea81..565c0781 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -28,7 +28,7 @@
-

+

Distributed under 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)

@@ -958,7 +958,7 @@

- +

Last revised: March 28, 2008 at 17:01:32 GMT

Last revised: April 04, 2008 at 08:46:37 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 2e4b026d..ef851872 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -40,7 +40,7 @@ Borland specific. ]] [[`BOOST_NO_ADL_BARRIER`][Compiler][ The compiler locates and searches namespaces that it should /*not*/ in fact -search when performing argument dependent lookup.] +search when performing argument dependent lookup. ]] [[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][ Compiler does not implement argument-dependent lookup (also named From 9c702893608a03dbacd0b2d5b9facea47764bb12 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 9 Apr 2008 11:34:20 +0000 Subject: [PATCH 16/47] Run config_info and config_test in both single and multi-thread modes. [SVN r44121] --- test/Jamfile.v2 | 10 +++++----- test/config_info.cpp | 2 ++ test/config_test.cpp | 2 +- tools/generate.cpp | 6 ++++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 01638df7..23e3d21c 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Fri Mar 28 16:52:14 2008 +# This file was automatically generated on Wed Apr 09 12:31:02 2008 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -11,14 +11,14 @@ # If you need to alter build preferences then set them in # the template defined in options_v2.jam. # -import testing ; - path-constant DOT : . ; include $(DOT)/options_v2.jam ; -run config_info.cpp ; +run config_info.cpp : : : single msvc:static msvc:static ; +run config_info.cpp : : : multi : config_info_threaded ; run math_info.cpp : : : borland:static borland:static ; -run config_test.cpp ; +run config_test.cpp : : : single msvc:static msvc:static ; +run config_test.cpp : : : multi : config_test_threaded ; run limits_test.cpp ../../test/build//boost_test_exec_monitor ; run abi/abi_test.cpp abi/main.cpp ; diff --git a/test/config_info.cpp b/test/config_info.cpp index d4d283f4..b31e6625 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1021,6 +1021,8 @@ void print_boost_macros() + + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 5f8b3965..5180ea3c 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Fri Mar 28 16:52:14 2008 +// This file was automatically generated on Wed Apr 09 12:31:02 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the diff --git a/tools/generate.cpp b/tools/generate.cpp index 384ce6f7..57a61fb5 100644 --- a/tools/generate.cpp +++ b/tools/generate.cpp @@ -128,9 +128,11 @@ void write_jamfile_v2() "# the template defined in options_v2.jam.\n#\n" "path-constant DOT : . ;\n" "include $(DOT)/options_v2.jam ;\n\n" - "run config_info.cpp ;\n" + "run config_info.cpp : : : single msvc:static msvc:static ;\n" + "run config_info.cpp : : : multi : config_info_threaded ;\n" "run math_info.cpp : : : borland:static borland:static ;\n" - "run config_test.cpp ;\n" + "run config_test.cpp : : : single msvc:static msvc:static ;\n" + "run config_test.cpp : : : multi : config_test_threaded ;\n" "run limits_test.cpp ../../test/build//boost_test_exec_monitor ;\n" "run abi/abi_test.cpp abi/main.cpp ;\n\n"; ofs << jamfile_v2.str() << std::endl; From b62d7ccb272d645c53881386bd814df542e7aaf3 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 9 Apr 2008 15:31:33 +0000 Subject: [PATCH 17/47] Update for bug report #1790. [SVN r44127] --- test/Jamfile.v2 | 2 +- test/config_info.cpp | 1 + test/config_test.cpp | 2 +- test/has_tr1_regex_fail.cpp | 15 +++++++++------ test/has_tr1_regex_pass.cpp | 17 ++++++++++------- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 23e3d21c..e50b8cdf 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Wed Apr 09 12:31:02 2008 +# This file was automatically generated on Wed Apr 09 16:30:14 2008 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the diff --git a/test/config_info.cpp b/test/config_info.cpp index b31e6625..41c524ec 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1023,6 +1023,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 5180ea3c..c540bc25 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Apr 09 12:31:02 2008 +// This file was automatically generated on Wed Apr 09 16:30:14 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the diff --git a/test/has_tr1_regex_fail.cpp b/test/has_tr1_regex_fail.cpp index a551b6cd..018a3d8c 100644 --- a/test/has_tr1_regex_fail.cpp +++ b/test/has_tr1_regex_fail.cpp @@ -1,15 +1,18 @@ -// This file was automatically generated on Sat Apr 02 11:49:12 2005 +// This file was automatically generated on Wed Apr 09 16:30:13 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // 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/libs/config for the most recent version. +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// -// Test file for macro BOOST_HAS_TR1_ARRAY + +// Test file for macro BOOST_HAS_TR1_REGEX // This file should not compile, if it does then -// BOOST_HAS_TR1_ARRAY should be defined. +// BOOST_HAS_TR1_REGEX should be defined. // See file boost_has_tr1_regex.ipp for details // Must not have BOOST_ASSERT_CONFIG set; it defeats @@ -21,7 +24,7 @@ #include #include "test.hpp" -#ifndef BOOST_HAS_TR1_ARRAY +#ifndef BOOST_HAS_TR1_REGEX #include "boost_has_tr1_regex.ipp" #else #error "this file should not compile" @@ -29,6 +32,6 @@ int main( int, char *[] ) { - return boost_has_tr1_array::test(); + return boost_has_tr1_regex::test(); } diff --git a/test/has_tr1_regex_pass.cpp b/test/has_tr1_regex_pass.cpp index f8ee9d42..a47fa74e 100644 --- a/test/has_tr1_regex_pass.cpp +++ b/test/has_tr1_regex_pass.cpp @@ -1,15 +1,18 @@ -// This file was automatically generated on Sat Apr 02 11:49:12 2005 +// This file was automatically generated on Wed Apr 09 16:30:13 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // 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/libs/config for the most recent version. +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// -// Test file for macro BOOST_HAS_TR1_ARRAY + +// Test file for macro BOOST_HAS_TR1_REGEX // This file should compile, if it does not then -// BOOST_HAS_TR1_ARRAY should not be defined. +// BOOST_HAS_TR1_REGEX should not be defined. // See file boost_has_tr1_regex.ipp for details // Must not have BOOST_ASSERT_CONFIG set; it defeats @@ -21,14 +24,14 @@ #include #include "test.hpp" -#ifdef BOOST_HAS_TR1_ARRAY +#ifdef BOOST_HAS_TR1_REGEX #include "boost_has_tr1_regex.ipp" #else -namespace boost_has_tr1_array = empty_boost; +namespace boost_has_tr1_regex = empty_boost; #endif int main( int, char *[] ) { - return boost_has_tr1_array::test(); + return boost_has_tr1_regex::test(); } From 0dcc2aeffb7998047a8bf56e0a057dd606f0a2c7 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Apr 2008 09:21:08 +0000 Subject: [PATCH 18/47] Beefed up pthreads test cases. [SVN r44170] --- test/boost_has_pthreads.ipp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/test/boost_has_pthreads.ipp b/test/boost_has_pthreads.ipp index 1797b0b1..34374b61 100644 --- a/test/boost_has_pthreads.ipp +++ b/test/boost_has_pthreads.ipp @@ -14,17 +14,36 @@ namespace boost_has_pthreads{ +void* thread_proc(void* arg) +{ + return arg; +} + int test() { pthread_mutex_t mut; int result = pthread_mutex_init(&mut, 0); if(0 == result) { - pthread_mutex_lock(&mut); - pthread_mutex_unlock(&mut); - pthread_mutex_destroy(&mut); + result |= pthread_mutex_lock(&mut); + result |= pthread_mutex_unlock(&mut); + result |= pthread_mutex_trylock(&mut); + result |= pthread_mutex_unlock(&mut); + result |= pthread_mutex_destroy(&mut); + // + // Check that we can actually create a thread: + // + pthread_t t; + int r = pthread_create(&t, 0, &thread_proc, 0); + result |= r; + if(r == 0) + { + void* arg; + r = pthread_join(t, &arg); + result |= r; + } } - return 0; + return result; } } From 80b0407338144bcfeb9ff0cb3bc3229a54bff4e1 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Apr 2008 09:22:31 +0000 Subject: [PATCH 19/47] Hopefully fix gcc/solaris single threading mode. [SVN r44171] --- include/boost/config/platform/solaris.hpp | 7 +++++++ include/boost/config/suffix.hpp | 2 ++ 2 files changed, 9 insertions(+) diff --git a/include/boost/config/platform/solaris.hpp b/include/boost/config/platform/solaris.hpp index 700dc3ce..9f925666 100644 --- a/include/boost/config/platform/solaris.hpp +++ b/include/boost/config/platform/solaris.hpp @@ -16,6 +16,13 @@ #define BOOST_HAS_UNISTD_H #include +// +// pthreads don't actually work with gcc unless _PTHREADS is defined: +// +#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) +# undef BOOST_HAS_PTHREADS +#endif + diff --git a/include/boost/config/suffix.hpp b/include/boost/config/suffix.hpp index b57d3f1e..c0cdf71b 100644 --- a/include/boost/config/suffix.hpp +++ b/include/boost/config/suffix.hpp @@ -232,6 +232,8 @@ #ifndef BOOST_HAS_THREADS # undef BOOST_HAS_PTHREADS # undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# undef BOOST_HAS_PTHREAD_YIELD +# undef BOOST_HAS_PTHREAD_DELAY_NP # undef BOOST_HAS_WINTHREADS # undef BOOST_HAS_BETHREADS # undef BOOST_HAS_MPTASKS From 6fac146f52952ea17e63488a4ca19ddb685ce0a1 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 14 Apr 2008 18:06:59 +0000 Subject: [PATCH 20/47] Move Boost.Config build rules into libs/config/test and fix the serialization build rules accordingly. [SVN r44422] --- test/Jamfile.v2 | 390 +++------------------------------- test/all/Jamfile.v2 | 364 +++++++++++++++++++++++++++++++ test/{ => all}/options_v2.jam | 0 test/config_info.cpp | 4 + test/config_test.cpp | 2 +- test/options.jam | 26 --- tools/generate.cpp | 45 +--- 7 files changed, 413 insertions(+), 418 deletions(-) create mode 100644 test/all/Jamfile.v2 rename test/{ => all}/options_v2.jam (100%) delete mode 100644 test/options.jam diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index e50b8cdf..a4e4df52 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1,9 +1,5 @@ # -# Regression test Jamfile for boost configuration setup. -# *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Wed Apr 09 16:30:14 2008 -# by libs/config/tools/generate.cpp -# Copyright John Maddock. +# Copyright John Maddock 2008. # 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) @@ -11,354 +7,36 @@ # If you need to alter build preferences then set them in # the template defined in options_v2.jam. # -path-constant DOT : . ; -include $(DOT)/options_v2.jam ; - -run config_info.cpp : : : single msvc:static msvc:static ; -run config_info.cpp : : : multi : config_info_threaded ; -run math_info.cpp : : : borland:static borland:static ; -run config_test.cpp : : : single msvc:static msvc:static ; -run config_test.cpp : : : multi : config_test_threaded ; -run limits_test.cpp ../../test/build//boost_test_exec_monitor ; -run abi/abi_test.cpp abi/main.cpp ; - -test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : -[ run has_2arg_use_facet_pass.cpp ] -[ compile-fail has_2arg_use_facet_fail.cpp ] ; -test-suite "BOOST_HAS_BETHREADS" : -[ run has_bethreads_pass.cpp ] -[ compile-fail has_bethreads_fail.cpp ] ; -test-suite "BOOST_HAS_CLOCK_GETTIME" : -[ run has_clock_gettime_pass.cpp ] -[ compile-fail has_clock_gettime_fail.cpp ] ; -test-suite "BOOST_HAS_CONCEPTS" : -[ run has_concepts_pass.cpp ] -[ compile-fail has_concepts_fail.cpp ] ; -test-suite "BOOST_HAS_DIRENT_H" : -[ run has_dirent_h_pass.cpp ] -[ compile-fail has_dirent_h_fail.cpp ] ; -test-suite "BOOST_HAS_EXPM1" : -[ run has_expm1_pass.cpp ] -[ compile-fail has_expm1_fail.cpp ] ; -test-suite "BOOST_HAS_FTIME" : -[ run has_ftime_pass.cpp ] -[ compile-fail has_ftime_fail.cpp ] ; -test-suite "BOOST_HAS_GETTIMEOFDAY" : -[ run has_gettimeofday_pass.cpp ] -[ compile-fail has_gettimeofday_fail.cpp ] ; -test-suite "BOOST_HAS_HASH" : -[ run has_hash_pass.cpp ] -[ compile-fail has_hash_fail.cpp ] ; -test-suite "BOOST_HAS_LOG1P" : -[ run has_log1p_pass.cpp ] -[ compile-fail has_log1p_fail.cpp ] ; -test-suite "BOOST_HAS_LONG_LONG" : -[ run has_long_long_pass.cpp ] -[ compile-fail has_long_long_fail.cpp ] ; -test-suite "BOOST_HAS_MACRO_USE_FACET" : -[ run has_macro_use_facet_pass.cpp ] -[ compile-fail has_macro_use_facet_fail.cpp ] ; -test-suite "BOOST_HAS_MS_INT64" : -[ run has_ms_int64_pass.cpp ] -[ compile-fail has_ms_int64_fail.cpp ] ; -test-suite "BOOST_HAS_NANOSLEEP" : -[ run has_nanosleep_pass.cpp ] -[ compile-fail has_nanosleep_fail.cpp ] ; -test-suite "BOOST_HAS_NL_TYPES_H" : -[ run has_nl_types_h_pass.cpp ] -[ compile-fail has_nl_types_h_fail.cpp ] ; -test-suite "BOOST_HAS_NRVO" : -[ run has_nrvo_pass.cpp ] -[ compile-fail has_nrvo_fail.cpp ] ; -test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" : -[ run has_part_alloc_pass.cpp ] -[ compile-fail has_part_alloc_fail.cpp ] ; -test-suite "BOOST_HAS_PTHREADS" : -[ run has_pthreads_pass.cpp ] -[ compile-fail has_pthreads_fail.cpp ] ; -test-suite "BOOST_HAS_PTHREAD_DELAY_NP" : -[ run has_pthread_delay_np_pass.cpp ] -[ compile-fail has_pthread_delay_np_fail.cpp ] ; -test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" : -[ run has_pthread_ma_st_pass.cpp ] -[ compile-fail has_pthread_ma_st_fail.cpp ] ; -test-suite "BOOST_HAS_PTHREAD_YIELD" : -[ run has_pthread_yield_pass.cpp ] -[ compile-fail has_pthread_yield_fail.cpp ] ; -test-suite "BOOST_HAS_RVALUE_REFS" : -[ run has_rvalue_refs_pass.cpp ] -[ compile-fail has_rvalue_refs_fail.cpp ] ; -test-suite "BOOST_HAS_SCHED_YIELD" : -[ run has_sched_yield_pass.cpp ] -[ compile-fail has_sched_yield_fail.cpp ] ; -test-suite "BOOST_HAS_SGI_TYPE_TRAITS" : -[ run has_sgi_type_traits_pass.cpp ] -[ compile-fail has_sgi_type_traits_fail.cpp ] ; -test-suite "BOOST_HAS_SIGACTION" : -[ run has_sigaction_pass.cpp ] -[ compile-fail has_sigaction_fail.cpp ] ; -test-suite "BOOST_HAS_SLIST" : -[ run has_slist_pass.cpp ] -[ compile-fail has_slist_fail.cpp ] ; -test-suite "BOOST_HAS_STATIC_ASSERT" : -[ run has_static_assert_pass.cpp ] -[ compile-fail has_static_assert_fail.cpp ] ; -test-suite "BOOST_HAS_STDINT_H" : -[ run has_stdint_h_pass.cpp ] -[ compile-fail has_stdint_h_fail.cpp ] ; -test-suite "BOOST_HAS_STLP_USE_FACET" : -[ run has_stlp_use_facet_pass.cpp ] -[ compile-fail has_stlp_use_facet_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_ARRAY" : -[ run has_tr1_array_pass.cpp ] -[ compile-fail has_tr1_array_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_BIND" : -[ run has_tr1_bind_pass.cpp ] -[ compile-fail has_tr1_bind_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" : -[ run has_tr1_complex_over_pass.cpp ] -[ compile-fail has_tr1_complex_over_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" : -[ run has_tr1_complex_trig_pass.cpp ] -[ compile-fail has_tr1_complex_trig_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_FUNCTION" : -[ run has_tr1_function_pass.cpp ] -[ compile-fail has_tr1_function_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_HASH" : -[ run has_tr1_hash_pass.cpp ] -[ compile-fail has_tr1_hash_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_MEM_FN" : -[ run has_tr1_mem_fn_pass.cpp ] -[ compile-fail has_tr1_mem_fn_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_RANDOM" : -[ run has_tr1_random_pass.cpp ] -[ compile-fail has_tr1_random_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" : -[ run has_tr1_ref_wrap_pass.cpp ] -[ compile-fail has_tr1_ref_wrap_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_REGEX" : -[ run has_tr1_regex_pass.cpp ] -[ compile-fail has_tr1_regex_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_RESULT_OF" : -[ run has_tr1_result_of_pass.cpp ] -[ compile-fail has_tr1_result_of_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_SHARED_PTR" : -[ run has_tr1_shared_ptr_pass.cpp ] -[ compile-fail has_tr1_shared_ptr_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_TUPLE" : -[ run has_tr1_tuple_pass.cpp ] -[ compile-fail has_tr1_tuple_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_TYPE_TRAITS" : -[ run has_tr1_type_traits_pass.cpp ] -[ compile-fail has_tr1_type_traits_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_UNORDERED_MAP" : -[ run has_tr1_unordered_map_pass.cpp ] -[ compile-fail has_tr1_unordered_map_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_UNORDERED_SET" : -[ run has_tr1_unordered_set_pass.cpp ] -[ compile-fail has_tr1_unordered_set_fail.cpp ] ; -test-suite "BOOST_HAS_TR1_UTILITY" : -[ run has_tr1_utility_pass.cpp ] -[ compile-fail has_tr1_utility_fail.cpp ] ; -test-suite "BOOST_HAS_UNISTD_H" : -[ run has_unistd_h_pass.cpp ] -[ compile-fail has_unistd_h_fail.cpp ] ; -test-suite "BOOST_HAS_VARIADIC_TMPL" : -[ run has_variadic_tmpl_pass.cpp ] -[ compile-fail has_variadic_tmpl_fail.cpp ] ; -test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" : -[ run has_vc6_mem_templ_pass.cpp ] -[ compile-fail has_vc6_mem_templ_fail.cpp ] ; -test-suite "BOOST_MSVC_STD_ITERATOR" : -[ run has_vc_iterator_pass.cpp ] -[ compile-fail has_vc_iterator_fail.cpp ] ; -test-suite "BOOST_HAS_WINTHREADS" : -[ run has_winthreads_pass.cpp ] -[ compile-fail has_winthreads_fail.cpp ] ; -test-suite "BOOST_NO_ADL_BARRIER" : -[ run no_adl_barrier_pass.cpp ] -[ compile-fail no_adl_barrier_fail.cpp ] ; -test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" : -[ run no_arg_dep_lookup_pass.cpp ] -[ compile-fail no_arg_dep_lookup_fail.cpp ] ; -test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" : -[ run no_array_type_spec_pass.cpp ] -[ compile-fail no_array_type_spec_fail.cpp ] ; -test-suite "BOOST_NO_AUTO_PTR" : -[ run no_auto_ptr_pass.cpp ] -[ compile-fail no_auto_ptr_fail.cpp ] ; -test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" : -[ run no_bcb_partial_spec_pass.cpp ] -[ compile-fail no_bcb_partial_spec_fail.cpp ] ; -test-suite "BOOST_NO_CTYPE_FUNCTIONS" : -[ run no_ctype_functions_pass.cpp ] -[ compile-fail no_ctype_functions_fail.cpp ] ; -test-suite "BOOST_NO_CV_SPECIALIZATIONS" : -[ run no_cv_spec_pass.cpp ] -[ compile-fail no_cv_spec_fail.cpp ] ; -test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" : -[ run no_cv_void_spec_pass.cpp ] -[ compile-fail no_cv_void_spec_fail.cpp ] ; -test-suite "BOOST_NO_CWCHAR" : -[ run no_cwchar_pass.cpp ] -[ compile-fail no_cwchar_fail.cpp ] ; -test-suite "BOOST_NO_CWCTYPE" : -[ run no_cwctype_pass.cpp ] -[ compile-fail no_cwctype_fail.cpp ] ; -test-suite "BOOST_DEDUCED_TYPENAME" : -[ run no_ded_typename_pass.cpp ] -[ compile-fail no_ded_typename_fail.cpp ] ; -test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" : -[ run no_dep_nested_class_pass.cpp ] -[ compile-fail no_dep_nested_class_fail.cpp ] ; -test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" : -[ run no_dep_val_param_pass.cpp ] -[ compile-fail no_dep_val_param_fail.cpp ] ; -test-suite "BOOST_NO_EXCEPTIONS" : -[ run no_exceptions_pass.cpp ] -[ compile-fail no_exceptions_fail.cpp ] ; -test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" : -[ run no_excep_std_pass.cpp ] -[ compile-fail no_excep_std_fail.cpp ] ; -test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" : -[ run no_exp_func_tem_arg_pass.cpp ] -[ compile-fail no_exp_func_tem_arg_fail.cpp ] ; -test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" : -[ run no_function_type_spec_pass.cpp ] -[ compile-fail no_function_type_spec_fail.cpp ] ; -test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" : -[ run no_func_tmp_order_pass.cpp ] -[ compile-fail no_func_tmp_order_fail.cpp ] ; -test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" : -[ run no_i64_limits_pass.cpp ] -[ compile-fail no_i64_limits_fail.cpp ] ; -test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" : -[ run no_inline_memb_init_pass.cpp ] -[ compile-fail no_inline_memb_init_fail.cpp ] ; -test-suite "BOOST_NO_INTEGRAL_INT64_T" : -[ run no_integral_int64_t_pass.cpp ] -[ compile-fail no_integral_int64_t_fail.cpp ] ; -test-suite "BOOST_NO_IOSFWD" : -[ run no_iosfwd_pass.cpp ] -[ compile-fail no_iosfwd_fail.cpp ] ; -test-suite "BOOST_NO_IOSTREAM" : -[ run no_iostream_pass.cpp ] -[ compile-fail no_iostream_fail.cpp ] ; -test-suite "BOOST_NO_IS_ABSTRACT" : -[ run no_is_abstract_pass.cpp ] -[ compile-fail no_is_abstract_fail.cpp ] ; -test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" : -[ run no_iter_construct_pass.cpp ] -[ compile-fail no_iter_construct_fail.cpp ] ; -test-suite "BOOST_NO_LIMITS" : -[ run no_limits_pass.cpp ] -[ compile-fail no_limits_fail.cpp ] ; -test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" : -[ run no_limits_const_exp_pass.cpp ] -[ compile-fail no_limits_const_exp_fail.cpp ] ; -test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" : -[ run no_ll_limits_pass.cpp ] -[ compile-fail no_ll_limits_fail.cpp ] ; -test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" : -[ run no_mem_func_spec_pass.cpp ] -[ compile-fail no_mem_func_spec_fail.cpp ] ; -test-suite "BOOST_NO_MEMBER_TEMPLATES" : -[ run no_mem_templates_pass.cpp ] -[ compile-fail no_mem_templates_fail.cpp ] ; -test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" : -[ run no_mem_templ_frnds_pass.cpp ] -[ compile-fail no_mem_templ_frnds_fail.cpp ] ; -test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" : -[ run no_mem_tem_keyword_pass.cpp ] -[ compile-fail no_mem_tem_keyword_fail.cpp ] ; -test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" : -[ run no_mem_tem_pnts_pass.cpp ] -[ compile-fail no_mem_tem_pnts_fail.cpp ] ; -test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" : -[ run no_ops_in_namespace_pass.cpp ] -[ compile-fail no_ops_in_namespace_fail.cpp ] ; -test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" : -[ run no_partial_spec_pass.cpp ] -[ compile-fail no_partial_spec_fail.cpp ] ; -test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" : -[ run no_priv_aggregate_pass.cpp ] -[ compile-fail no_priv_aggregate_fail.cpp ] ; -test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" : -[ run no_ptr_mem_const_pass.cpp ] -[ compile-fail no_ptr_mem_const_fail.cpp ] ; -test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" : -[ run no_ret_det_pass.cpp ] -[ compile-fail no_ret_det_fail.cpp ] ; -test-suite "BOOST_NO_SFINAE" : -[ run no_sfinae_pass.cpp ] -[ compile-fail no_sfinae_fail.cpp ] ; -test-suite "BOOST_NO_STRINGSTREAM" : -[ run no_sstream_pass.cpp ] -[ compile-fail no_sstream_fail.cpp ] ; -test-suite "BOOST_NO_STDC_NAMESPACE" : -[ run no_stdc_namespace_pass.cpp ] -[ compile-fail no_stdc_namespace_fail.cpp ] ; -test-suite "BOOST_NO_STD_ALLOCATOR" : -[ run no_std_allocator_pass.cpp ] -[ compile-fail no_std_allocator_fail.cpp ] ; -test-suite "BOOST_NO_STD_DISTANCE" : -[ run no_std_distance_pass.cpp ] -[ compile-fail no_std_distance_fail.cpp ] ; -test-suite "BOOST_NO_STD_ITERATOR" : -[ run no_std_iterator_pass.cpp ] -[ compile-fail no_std_iterator_fail.cpp ] ; -test-suite "BOOST_NO_STD_ITERATOR_TRAITS" : -[ run no_std_iter_traits_pass.cpp ] -[ compile-fail no_std_iter_traits_fail.cpp ] ; -test-suite "BOOST_NO_STD_LOCALE" : -[ run no_std_locale_pass.cpp ] -[ compile-fail no_std_locale_fail.cpp ] ; -test-suite "BOOST_NO_STD_MESSAGES" : -[ run no_std_messages_pass.cpp ] -[ compile-fail no_std_messages_fail.cpp ] ; -test-suite "BOOST_NO_STD_MIN_MAX" : -[ run no_std_min_max_pass.cpp ] -[ compile-fail no_std_min_max_fail.cpp ] ; -test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : -[ run no_std_oi_assign_pass.cpp ] -[ compile-fail no_std_oi_assign_fail.cpp ] ; -test-suite "BOOST_NO_STD_TYPEINFO" : -[ run no_std_typeinfo_pass.cpp ] -[ compile-fail no_std_typeinfo_fail.cpp ] ; -test-suite "BOOST_NO_STD_USE_FACET" : -[ run no_std_use_facet_pass.cpp ] -[ compile-fail no_std_use_facet_fail.cpp ] ; -test-suite "BOOST_NO_STD_WSTREAMBUF" : -[ run no_std_wstreambuf_pass.cpp ] -[ compile-fail no_std_wstreambuf_fail.cpp ] ; -test-suite "BOOST_NO_STD_WSTRING" : -[ run no_std_wstring_pass.cpp ] -[ compile-fail no_std_wstring_fail.cpp ] ; -test-suite "BOOST_NO_SWPRINTF" : -[ run no_swprintf_pass.cpp ] -[ compile-fail no_swprintf_fail.cpp ] ; -test-suite "BOOST_NO_TEMPLATE_TEMPLATES" : -[ run no_template_template_pass.cpp ] -[ compile-fail no_template_template_fail.cpp ] ; -test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" : -[ run no_two_phase_lookup_pass.cpp ] -[ compile-fail no_two_phase_lookup_fail.cpp ] ; -test-suite "BOOST_NO_TYPEID" : -[ run no_typeid_pass.cpp ] -[ compile-fail no_typeid_fail.cpp ] ; -test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" : -[ run no_using_breaks_adl_pass.cpp ] -[ compile-fail no_using_breaks_adl_fail.cpp ] ; -test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" : -[ run no_using_decl_overld_pass.cpp ] -[ compile-fail no_using_decl_overld_fail.cpp ] ; -test-suite "BOOST_NO_USING_TEMPLATE" : -[ run no_using_template_pass.cpp ] -[ compile-fail no_using_template_fail.cpp ] ; -test-suite "BOOST_NO_VOID_RETURNS" : -[ run no_void_returns_pass.cpp ] -[ compile-fail no_void_returns_fail.cpp ] ; -test-suite "BOOST_NO_INTRINSIC_WCHAR_T" : -[ run no_wchar_t_pass.cpp ] -[ compile-fail no_wchar_t_fail.cpp ] ; - +test-suite config + : + [ run config_test.cpp + : #args + : #input-files + : #requirements + multi + : config_test_threaded + ] + [ run config_test.cpp + : #args + : #input-files + : #requirements + single msvc:static msvc:static + ] + [ run config_info.cpp : : : always_show_run_output single msvc:static msvc:static ] + [ run config_info.cpp : : : always_show_run_output multi : config_info_threaded ] + [ run math_info.cpp : : : always_show_run_output borland:static borland:static ] + [ run abi/abi_test.cpp abi/main.cpp ] + [ run limits_test.cpp ../../test/build//boost_test_exec_monitor ] + [ run link/main.cpp link//link_test + : #args + : #input-files + : #requirements + shared + BOOST_DYN_LINK=1 + BOOST_CONFIG_NO_LIB=1 + : + config_link_test + ] + [ compile-fail threads/test_thread_fail1.cpp ] + [ compile-fail threads/test_thread_fail2.cpp ] + ; diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 new file mode 100644 index 00000000..ef9269a1 --- /dev/null +++ b/test/all/Jamfile.v2 @@ -0,0 +1,364 @@ +# +# Regression test Jamfile for boost configuration setup. +# *** DO NOT EDIT THIS FILE BY HAND *** +# This file was automatically generated on Mon Apr 14 17:10:09 2008 +# by libs/config/tools/generate.cpp +# Copyright John Maddock. +# 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) +# +# If you need to alter build preferences then set them in +# the template defined in options_v2.jam. +# +path-constant DOT : . ; +include $(DOT)/options_v2.jam ; + +run ../config_info.cpp : : : single msvc:static msvc:static ; +run ../config_info.cpp : : : multi : config_info_threaded ; +run ../math_info.cpp : : : borland:static borland:static ; +run ../config_test.cpp : : : single msvc:static msvc:static ; +run ../config_test.cpp : : : multi : config_test_threaded ; +run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ; +run ../abi/abi_test.cpp ../abi/main.cpp ; + +test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : +[ run ../has_2arg_use_facet_pass.cpp ] +[ compile-fail ../has_2arg_use_facet_fail.cpp ] ; +test-suite "BOOST_HAS_BETHREADS" : +[ run ../has_bethreads_pass.cpp ] +[ compile-fail ../has_bethreads_fail.cpp ] ; +test-suite "BOOST_HAS_CLOCK_GETTIME" : +[ run ../has_clock_gettime_pass.cpp ] +[ compile-fail ../has_clock_gettime_fail.cpp ] ; +test-suite "BOOST_HAS_CONCEPTS" : +[ run ../has_concepts_pass.cpp ] +[ compile-fail ../has_concepts_fail.cpp ] ; +test-suite "BOOST_HAS_DIRENT_H" : +[ run ../has_dirent_h_pass.cpp ] +[ compile-fail ../has_dirent_h_fail.cpp ] ; +test-suite "BOOST_HAS_EXPM1" : +[ run ../has_expm1_pass.cpp ] +[ compile-fail ../has_expm1_fail.cpp ] ; +test-suite "BOOST_HAS_FTIME" : +[ run ../has_ftime_pass.cpp ] +[ compile-fail ../has_ftime_fail.cpp ] ; +test-suite "BOOST_HAS_GETTIMEOFDAY" : +[ run ../has_gettimeofday_pass.cpp ] +[ compile-fail ../has_gettimeofday_fail.cpp ] ; +test-suite "BOOST_HAS_HASH" : +[ run ../has_hash_pass.cpp ] +[ compile-fail ../has_hash_fail.cpp ] ; +test-suite "BOOST_HAS_LOG1P" : +[ run ../has_log1p_pass.cpp ] +[ compile-fail ../has_log1p_fail.cpp ] ; +test-suite "BOOST_HAS_LONG_LONG" : +[ run ../has_long_long_pass.cpp ] +[ compile-fail ../has_long_long_fail.cpp ] ; +test-suite "BOOST_HAS_MACRO_USE_FACET" : +[ run ../has_macro_use_facet_pass.cpp ] +[ compile-fail ../has_macro_use_facet_fail.cpp ] ; +test-suite "BOOST_HAS_MS_INT64" : +[ run ../has_ms_int64_pass.cpp ] +[ compile-fail ../has_ms_int64_fail.cpp ] ; +test-suite "BOOST_HAS_NANOSLEEP" : +[ run ../has_nanosleep_pass.cpp ] +[ compile-fail ../has_nanosleep_fail.cpp ] ; +test-suite "BOOST_HAS_NL_TYPES_H" : +[ run ../has_nl_types_h_pass.cpp ] +[ compile-fail ../has_nl_types_h_fail.cpp ] ; +test-suite "BOOST_HAS_NRVO" : +[ run ../has_nrvo_pass.cpp ] +[ compile-fail ../has_nrvo_fail.cpp ] ; +test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" : +[ run ../has_part_alloc_pass.cpp ] +[ compile-fail ../has_part_alloc_fail.cpp ] ; +test-suite "BOOST_HAS_PTHREADS" : +[ run ../has_pthreads_pass.cpp ] +[ compile-fail ../has_pthreads_fail.cpp ] ; +test-suite "BOOST_HAS_PTHREAD_DELAY_NP" : +[ run ../has_pthread_delay_np_pass.cpp ] +[ compile-fail ../has_pthread_delay_np_fail.cpp ] ; +test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" : +[ run ../has_pthread_ma_st_pass.cpp ] +[ compile-fail ../has_pthread_ma_st_fail.cpp ] ; +test-suite "BOOST_HAS_PTHREAD_YIELD" : +[ run ../has_pthread_yield_pass.cpp ] +[ compile-fail ../has_pthread_yield_fail.cpp ] ; +test-suite "BOOST_HAS_RVALUE_REFS" : +[ run ../has_rvalue_refs_pass.cpp ] +[ compile-fail ../has_rvalue_refs_fail.cpp ] ; +test-suite "BOOST_HAS_SCHED_YIELD" : +[ run ../has_sched_yield_pass.cpp ] +[ compile-fail ../has_sched_yield_fail.cpp ] ; +test-suite "BOOST_HAS_SGI_TYPE_TRAITS" : +[ run ../has_sgi_type_traits_pass.cpp ] +[ compile-fail ../has_sgi_type_traits_fail.cpp ] ; +test-suite "BOOST_HAS_SIGACTION" : +[ run ../has_sigaction_pass.cpp ] +[ compile-fail ../has_sigaction_fail.cpp ] ; +test-suite "BOOST_HAS_SLIST" : +[ run ../has_slist_pass.cpp ] +[ compile-fail ../has_slist_fail.cpp ] ; +test-suite "BOOST_HAS_STATIC_ASSERT" : +[ run ../has_static_assert_pass.cpp ] +[ compile-fail ../has_static_assert_fail.cpp ] ; +test-suite "BOOST_HAS_STDINT_H" : +[ run ../has_stdint_h_pass.cpp ] +[ compile-fail ../has_stdint_h_fail.cpp ] ; +test-suite "BOOST_HAS_STLP_USE_FACET" : +[ run ../has_stlp_use_facet_pass.cpp ] +[ compile-fail ../has_stlp_use_facet_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_ARRAY" : +[ run ../has_tr1_array_pass.cpp ] +[ compile-fail ../has_tr1_array_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_BIND" : +[ run ../has_tr1_bind_pass.cpp ] +[ compile-fail ../has_tr1_bind_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" : +[ run ../has_tr1_complex_over_pass.cpp ] +[ compile-fail ../has_tr1_complex_over_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" : +[ run ../has_tr1_complex_trig_pass.cpp ] +[ compile-fail ../has_tr1_complex_trig_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_FUNCTION" : +[ run ../has_tr1_function_pass.cpp ] +[ compile-fail ../has_tr1_function_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_HASH" : +[ run ../has_tr1_hash_pass.cpp ] +[ compile-fail ../has_tr1_hash_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_MEM_FN" : +[ run ../has_tr1_mem_fn_pass.cpp ] +[ compile-fail ../has_tr1_mem_fn_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_RANDOM" : +[ run ../has_tr1_random_pass.cpp ] +[ compile-fail ../has_tr1_random_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" : +[ run ../has_tr1_ref_wrap_pass.cpp ] +[ compile-fail ../has_tr1_ref_wrap_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_REGEX" : +[ run ../has_tr1_regex_pass.cpp ] +[ compile-fail ../has_tr1_regex_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_RESULT_OF" : +[ run ../has_tr1_result_of_pass.cpp ] +[ compile-fail ../has_tr1_result_of_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_SHARED_PTR" : +[ run ../has_tr1_shared_ptr_pass.cpp ] +[ compile-fail ../has_tr1_shared_ptr_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_TUPLE" : +[ run ../has_tr1_tuple_pass.cpp ] +[ compile-fail ../has_tr1_tuple_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_TYPE_TRAITS" : +[ run ../has_tr1_type_traits_pass.cpp ] +[ compile-fail ../has_tr1_type_traits_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_UNORDERED_MAP" : +[ run ../has_tr1_unordered_map_pass.cpp ] +[ compile-fail ../has_tr1_unordered_map_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_UNORDERED_SET" : +[ run ../has_tr1_unordered_set_pass.cpp ] +[ compile-fail ../has_tr1_unordered_set_fail.cpp ] ; +test-suite "BOOST_HAS_TR1_UTILITY" : +[ run ../has_tr1_utility_pass.cpp ] +[ compile-fail ../has_tr1_utility_fail.cpp ] ; +test-suite "BOOST_HAS_UNISTD_H" : +[ run ../has_unistd_h_pass.cpp ] +[ compile-fail ../has_unistd_h_fail.cpp ] ; +test-suite "BOOST_HAS_VARIADIC_TMPL" : +[ run ../has_variadic_tmpl_pass.cpp ] +[ compile-fail ../has_variadic_tmpl_fail.cpp ] ; +test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" : +[ run ../has_vc6_mem_templ_pass.cpp ] +[ compile-fail ../has_vc6_mem_templ_fail.cpp ] ; +test-suite "BOOST_MSVC_STD_ITERATOR" : +[ run ../has_vc_iterator_pass.cpp ] +[ compile-fail ../has_vc_iterator_fail.cpp ] ; +test-suite "BOOST_HAS_WINTHREADS" : +[ run ../has_winthreads_pass.cpp ] +[ compile-fail ../has_winthreads_fail.cpp ] ; +test-suite "BOOST_NO_ADL_BARRIER" : +[ run ../no_adl_barrier_pass.cpp ] +[ compile-fail ../no_adl_barrier_fail.cpp ] ; +test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" : +[ run ../no_arg_dep_lookup_pass.cpp ] +[ compile-fail ../no_arg_dep_lookup_fail.cpp ] ; +test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" : +[ run ../no_array_type_spec_pass.cpp ] +[ compile-fail ../no_array_type_spec_fail.cpp ] ; +test-suite "BOOST_NO_AUTO_PTR" : +[ run ../no_auto_ptr_pass.cpp ] +[ compile-fail ../no_auto_ptr_fail.cpp ] ; +test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" : +[ run ../no_bcb_partial_spec_pass.cpp ] +[ compile-fail ../no_bcb_partial_spec_fail.cpp ] ; +test-suite "BOOST_NO_CTYPE_FUNCTIONS" : +[ run ../no_ctype_functions_pass.cpp ] +[ compile-fail ../no_ctype_functions_fail.cpp ] ; +test-suite "BOOST_NO_CV_SPECIALIZATIONS" : +[ run ../no_cv_spec_pass.cpp ] +[ compile-fail ../no_cv_spec_fail.cpp ] ; +test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" : +[ run ../no_cv_void_spec_pass.cpp ] +[ compile-fail ../no_cv_void_spec_fail.cpp ] ; +test-suite "BOOST_NO_CWCHAR" : +[ run ../no_cwchar_pass.cpp ] +[ compile-fail ../no_cwchar_fail.cpp ] ; +test-suite "BOOST_NO_CWCTYPE" : +[ run ../no_cwctype_pass.cpp ] +[ compile-fail ../no_cwctype_fail.cpp ] ; +test-suite "BOOST_DEDUCED_TYPENAME" : +[ run ../no_ded_typename_pass.cpp ] +[ compile-fail ../no_ded_typename_fail.cpp ] ; +test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" : +[ run ../no_dep_nested_class_pass.cpp ] +[ compile-fail ../no_dep_nested_class_fail.cpp ] ; +test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" : +[ run ../no_dep_val_param_pass.cpp ] +[ compile-fail ../no_dep_val_param_fail.cpp ] ; +test-suite "BOOST_NO_EXCEPTIONS" : +[ run ../no_exceptions_pass.cpp ] +[ compile-fail ../no_exceptions_fail.cpp ] ; +test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" : +[ run ../no_excep_std_pass.cpp ] +[ compile-fail ../no_excep_std_fail.cpp ] ; +test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" : +[ run ../no_exp_func_tem_arg_pass.cpp ] +[ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ; +test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" : +[ run ../no_function_type_spec_pass.cpp ] +[ compile-fail ../no_function_type_spec_fail.cpp ] ; +test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" : +[ run ../no_func_tmp_order_pass.cpp ] +[ compile-fail ../no_func_tmp_order_fail.cpp ] ; +test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" : +[ run ../no_i64_limits_pass.cpp ] +[ compile-fail ../no_i64_limits_fail.cpp ] ; +test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" : +[ run ../no_inline_memb_init_pass.cpp ] +[ compile-fail ../no_inline_memb_init_fail.cpp ] ; +test-suite "BOOST_NO_INTEGRAL_INT64_T" : +[ run ../no_integral_int64_t_pass.cpp ] +[ compile-fail ../no_integral_int64_t_fail.cpp ] ; +test-suite "BOOST_NO_IOSFWD" : +[ run ../no_iosfwd_pass.cpp ] +[ compile-fail ../no_iosfwd_fail.cpp ] ; +test-suite "BOOST_NO_IOSTREAM" : +[ run ../no_iostream_pass.cpp ] +[ compile-fail ../no_iostream_fail.cpp ] ; +test-suite "BOOST_NO_IS_ABSTRACT" : +[ run ../no_is_abstract_pass.cpp ] +[ compile-fail ../no_is_abstract_fail.cpp ] ; +test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" : +[ run ../no_iter_construct_pass.cpp ] +[ compile-fail ../no_iter_construct_fail.cpp ] ; +test-suite "BOOST_NO_LIMITS" : +[ run ../no_limits_pass.cpp ] +[ compile-fail ../no_limits_fail.cpp ] ; +test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" : +[ run ../no_limits_const_exp_pass.cpp ] +[ compile-fail ../no_limits_const_exp_fail.cpp ] ; +test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" : +[ run ../no_ll_limits_pass.cpp ] +[ compile-fail ../no_ll_limits_fail.cpp ] ; +test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" : +[ run ../no_mem_func_spec_pass.cpp ] +[ compile-fail ../no_mem_func_spec_fail.cpp ] ; +test-suite "BOOST_NO_MEMBER_TEMPLATES" : +[ run ../no_mem_templates_pass.cpp ] +[ compile-fail ../no_mem_templates_fail.cpp ] ; +test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" : +[ run ../no_mem_templ_frnds_pass.cpp ] +[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ; +test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" : +[ run ../no_mem_tem_keyword_pass.cpp ] +[ compile-fail ../no_mem_tem_keyword_fail.cpp ] ; +test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" : +[ run ../no_mem_tem_pnts_pass.cpp ] +[ compile-fail ../no_mem_tem_pnts_fail.cpp ] ; +test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" : +[ run ../no_ops_in_namespace_pass.cpp ] +[ compile-fail ../no_ops_in_namespace_fail.cpp ] ; +test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" : +[ run ../no_partial_spec_pass.cpp ] +[ compile-fail ../no_partial_spec_fail.cpp ] ; +test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" : +[ run ../no_priv_aggregate_pass.cpp ] +[ compile-fail ../no_priv_aggregate_fail.cpp ] ; +test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" : +[ run ../no_ptr_mem_const_pass.cpp ] +[ compile-fail ../no_ptr_mem_const_fail.cpp ] ; +test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" : +[ run ../no_ret_det_pass.cpp ] +[ compile-fail ../no_ret_det_fail.cpp ] ; +test-suite "BOOST_NO_SFINAE" : +[ run ../no_sfinae_pass.cpp ] +[ compile-fail ../no_sfinae_fail.cpp ] ; +test-suite "BOOST_NO_STRINGSTREAM" : +[ run ../no_sstream_pass.cpp ] +[ compile-fail ../no_sstream_fail.cpp ] ; +test-suite "BOOST_NO_STDC_NAMESPACE" : +[ run ../no_stdc_namespace_pass.cpp ] +[ compile-fail ../no_stdc_namespace_fail.cpp ] ; +test-suite "BOOST_NO_STD_ALLOCATOR" : +[ run ../no_std_allocator_pass.cpp ] +[ compile-fail ../no_std_allocator_fail.cpp ] ; +test-suite "BOOST_NO_STD_DISTANCE" : +[ run ../no_std_distance_pass.cpp ] +[ compile-fail ../no_std_distance_fail.cpp ] ; +test-suite "BOOST_NO_STD_ITERATOR" : +[ run ../no_std_iterator_pass.cpp ] +[ compile-fail ../no_std_iterator_fail.cpp ] ; +test-suite "BOOST_NO_STD_ITERATOR_TRAITS" : +[ run ../no_std_iter_traits_pass.cpp ] +[ compile-fail ../no_std_iter_traits_fail.cpp ] ; +test-suite "BOOST_NO_STD_LOCALE" : +[ run ../no_std_locale_pass.cpp ] +[ compile-fail ../no_std_locale_fail.cpp ] ; +test-suite "BOOST_NO_STD_MESSAGES" : +[ run ../no_std_messages_pass.cpp ] +[ compile-fail ../no_std_messages_fail.cpp ] ; +test-suite "BOOST_NO_STD_MIN_MAX" : +[ run ../no_std_min_max_pass.cpp ] +[ compile-fail ../no_std_min_max_fail.cpp ] ; +test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : +[ run ../no_std_oi_assign_pass.cpp ] +[ compile-fail ../no_std_oi_assign_fail.cpp ] ; +test-suite "BOOST_NO_STD_TYPEINFO" : +[ run ../no_std_typeinfo_pass.cpp ] +[ compile-fail ../no_std_typeinfo_fail.cpp ] ; +test-suite "BOOST_NO_STD_USE_FACET" : +[ run ../no_std_use_facet_pass.cpp ] +[ compile-fail ../no_std_use_facet_fail.cpp ] ; +test-suite "BOOST_NO_STD_WSTREAMBUF" : +[ run ../no_std_wstreambuf_pass.cpp ] +[ compile-fail ../no_std_wstreambuf_fail.cpp ] ; +test-suite "BOOST_NO_STD_WSTRING" : +[ run ../no_std_wstring_pass.cpp ] +[ compile-fail ../no_std_wstring_fail.cpp ] ; +test-suite "BOOST_NO_SWPRINTF" : +[ run ../no_swprintf_pass.cpp ] +[ compile-fail ../no_swprintf_fail.cpp ] ; +test-suite "BOOST_NO_TEMPLATE_TEMPLATES" : +[ run ../no_template_template_pass.cpp ] +[ compile-fail ../no_template_template_fail.cpp ] ; +test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" : +[ run ../no_two_phase_lookup_pass.cpp ] +[ compile-fail ../no_two_phase_lookup_fail.cpp ] ; +test-suite "BOOST_NO_TYPEID" : +[ run ../no_typeid_pass.cpp ] +[ compile-fail ../no_typeid_fail.cpp ] ; +test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" : +[ run ../no_using_breaks_adl_pass.cpp ] +[ compile-fail ../no_using_breaks_adl_fail.cpp ] ; +test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" : +[ run ../no_using_decl_overld_pass.cpp ] +[ compile-fail ../no_using_decl_overld_fail.cpp ] ; +test-suite "BOOST_NO_USING_TEMPLATE" : +[ run ../no_using_template_pass.cpp ] +[ compile-fail ../no_using_template_fail.cpp ] ; +test-suite "BOOST_NO_VOID_RETURNS" : +[ run ../no_void_returns_pass.cpp ] +[ compile-fail ../no_void_returns_fail.cpp ] ; +test-suite "BOOST_NO_INTRINSIC_WCHAR_T" : +[ run ../no_wchar_t_pass.cpp ] +[ compile-fail ../no_wchar_t_fail.cpp ] ; + diff --git a/test/options_v2.jam b/test/all/options_v2.jam similarity index 100% rename from test/options_v2.jam rename to test/all/options_v2.jam diff --git a/test/config_info.cpp b/test/config_info.cpp index 41c524ec..277e037f 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1024,6 +1024,10 @@ void print_boost_macros() + + + + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index c540bc25..8f95c9d9 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Apr 09 16:30:14 2008 +// This file was automatically generated on Mon Apr 14 17:10:09 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the diff --git a/test/options.jam b/test/options.jam deleted file mode 100644 index 0402478a..00000000 --- a/test/options.jam +++ /dev/null @@ -1,26 +0,0 @@ -# copyright John Maddock 2003 -# 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) - -# -# this template defines the options common to -# all config builds and tests: -# -template config_options - : # sources - : # requirements - $(BOOST_ROOT) - # como requires access to : - <*> - # threading tests require thread support turned on: - multi - ; - -template config_test_options - : # sources - ../../test/build/boost_test_exec_monitor -