diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 7986b6b3..e1b2271f 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -42,14 +42,12 @@
Macros for libraries with separate source code
-

-

Macros that describe defects

-

+

The following macros all describe features that are required by the C++ standard, if one of the following macros is defined, then it represents a defect in the compiler's conformance with the standard. @@ -282,6 +280,26 @@ + +

+ BOOST_NO_FENV_H +

+ + +

+ Platform, Standard library +

+ + +

+ The C standard library doesn't provide <fenv.h>. + <boost/detail/fenv.hpp> + should be included instead of <fenv.h> + for maximum portability on platforms which do provide <fenv.h>. +

+ + +

BOOST_NO_DEPENDENT_NESTED_DERIVATIONS @@ -1306,14 +1324,12 @@

-

-

Macros that describe optional features

-

+

The following macros describe features that are not required by the C++ standard. The macro is only defined if the feature is present.

@@ -1695,26 +1711,6 @@ - -

- BOOST_HAS_FENV_H -

- - -

- Platform, Standard library -

- - -

- The platform has a <fenv.h>. - <boost/detail/fenv.hpp> - should be included instead of <fenv.h> - for maximum portability. -

- - -

BOOST_HAS_STDINT_H @@ -2325,18 +2321,6 @@ - -

- BOOST_NO_0X_HDR_CONCEPTS -

- - -

- The standard library does not provide header <concepts>. -

- - -

BOOST_NO_0X_HDR_CONDITION_VARIABLE @@ -2349,18 +2333,6 @@ - -

- BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -

- - -

- The standard library does not provide header <container_concepts>. -

- - -

BOOST_NO_0X_HDR_FORWARD_LIST @@ -2397,30 +2369,6 @@ - -

- BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -

- - -

- The standard library does not provide header <iterator_concepts>. -

- - - - -

- BOOST_NO_0X_HDR_MEMORY_CONCEPTS -

- - -

- The standard library does not provide header <memory_concepts>. -

- - -

BOOST_NO_0X_HDR_MUTEX @@ -2609,18 +2557,6 @@ - -

- BOOST_NO_CONCEPTS -

- - -

- The compiler does not support Concepts. -

- - -

BOOST_NO_TEMPLATE_ALIASES @@ -2883,14 +2819,12 @@

-

-

Boost Helper Macros

-

+

The following macros are either simple helpers, or macros that provide workarounds for compiler/standard library defects.

@@ -3294,14 +3228,12 @@
-

-

Boost Informational Macros

-

+

The following macros describe boost features; these are, generally speaking the only boost macros that should be tested in user code.

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 820adb10..d429863e 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -28,8 +28,8 @@ Boost Authors
-
- Disabling Compiler Warnings
+
Disabling + Compiler Warnings
Adding New Defect Macros
Adding @@ -105,8 +105,8 @@

- - Disabling Compiler Warnings +Disabling + Compiler Warnings

The header <boost/config/warning_disable.hpp> diff --git a/doc/html/index.html b/doc/html/index.html index caec8875..e13b8a9f 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)

@@ -75,8 +75,8 @@
Guidelines for Boost Authors
-
- Disabling Compiler Warnings
+
Disabling + Compiler Warnings
Adding New Defect Macros
Adding @@ -166,14 +166,12 @@ developers list.

-

-

-
+
@@ -310,14 +308,12 @@ -

-

-

+

There are some configuration-options that represent user choices, rather than compiler defects or platform specific options. These are listed in <boost/config/user.hpp> @@ -950,7 +946,7 @@

[Important] Important
- +

Last revised: November 23, 2010 at 03:21:20 GMT

Last revised: March 15, 2011 at 13:01:43 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 7f84ef44..ee57bbc1 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -539,14 +539,10 @@ that are not yet supported by a particular compiler or library. [[`BOOST_NO_0X_HDR_ARRAY`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_CHRONO`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_CODECVT`][The standard library does not provide header .]] -[[`BOOST_NO_0X_HDR_CONCEPTS`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_CONDITION_VARIABLE`][The standard library does not provide header .]] -[[`BOOST_NO_0X_HDR_CONTAINER_CONCEPTS`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_FORWARD_LIST`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_FUTURE`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_INITIALIZER_LIST`][The standard library does not provide header .]] -[[`BOOST_NO_0X_HDR_ITERATOR_CONCEPTS`][The standard library does not provide header .]] -[[`BOOST_NO_0X_HDR_MEMORY_CONCEPTS`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_MUTEX`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_RANDOM`][The standard library does not provide header .]] [[`BOOST_NO_0X_HDR_RATIO`][The standard library does not provide header .]] @@ -571,8 +567,6 @@ type `char16_t`. [[`BOOST_NO_CHAR32_T`][The compiler does not support type `char32_t`. ]] -[[`BOOST_NO_CONCEPTS`][The compiler does not support Concepts. -]] [[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases. ]] [[`BOOST_NO_CONSTEXPR`][The compiler does not support diff --git a/include/boost/config/compiler/borland.hpp b/include/boost/config/compiler/borland.hpp index a989fd63..7801c7fb 100644 --- a/include/boost/config/compiler/borland.hpp +++ b/include/boost/config/compiler/borland.hpp @@ -166,7 +166,6 @@ #define BOOST_NO_AUTO_DECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DELETED_FUNCTIONS diff --git a/include/boost/config/compiler/clang.hpp b/include/boost/config/compiler/clang.hpp index 08930337..4bb0d1f1 100644 --- a/include/boost/config/compiler/clang.hpp +++ b/include/boost/config/compiler/clang.hpp @@ -29,7 +29,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #if !__has_feature(cxx_decltype) diff --git a/include/boost/config/compiler/codegear.hpp b/include/boost/config/compiler/codegear.hpp index f6dc4c02..9584a4e7 100644 --- a/include/boost/config/compiler/codegear.hpp +++ b/include/boost/config/compiler/codegear.hpp @@ -93,7 +93,6 @@ #define BOOST_NO_AUTO_DECLARATIONS #define BOOST_NO_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DELETED_FUNCTIONS diff --git a/include/boost/config/compiler/common_edg.hpp b/include/boost/config/compiler/common_edg.hpp index 9042578b..e55fb714 100644 --- a/include/boost/config/compiler/common_edg.hpp +++ b/include/boost/config/compiler/common_edg.hpp @@ -74,7 +74,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/digitalmars.hpp b/include/boost/config/compiler/digitalmars.hpp index 31c11bf0..ebeef767 100644 --- a/include/boost/config/compiler/digitalmars.hpp +++ b/include/boost/config/compiler/digitalmars.hpp @@ -62,7 +62,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp index f633647d..651a8c38 100644 --- a/include/boost/config/compiler/gcc.hpp +++ b/include/boost/config/compiler/gcc.hpp @@ -168,7 +168,7 @@ // Variadic templates compiler: // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html -# ifdef __VARIADIC_TEMPLATES +# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) # define BOOST_HAS_VARIADIC_TMPL # else # define BOOST_NO_VARIADIC_TEMPLATES @@ -182,54 +182,59 @@ # define BOOST_NO_AUTO_MULTIDECLARATIONS # define BOOST_NO_CHAR16_T # define BOOST_NO_CHAR32_T +# define BOOST_NO_INITIALIZER_LISTS +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) +// +// These appear to always be available in GCC-4.4.x regardless of +// whether we are in C++ 0x mode or not: +// # define BOOST_NO_DEFAULTED_FUNCTIONS # define BOOST_NO_DELETED_FUNCTIONS -# define BOOST_NO_INITIALIZER_LISTS -# define BOOST_NO_SCOPED_ENUMS +#endif #endif #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) # define BOOST_NO_SFINAE_EXPR #endif -// C++0x features in 4.4.1 and later -// -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__) -// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1 -// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 -# define BOOST_NO_SCOPED_ENUMS -#endif - -// C++0x features in 4.5.n and later +// C++0x features in 4.5.0 and later // #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +// These two appear to be always available: # define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_LAMBDAS +#endif # define BOOST_NO_RAW_LITERALS # define BOOST_NO_UNICODE_LITERALS #endif -// C++0x features in 4.5.n and later +// C++0x features in 4.5.1 and later +// +#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.5.1 +// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 +# define BOOST_NO_SCOPED_ENUMS +#endif + +// C++0x features in 4.6.n and later // #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #define BOOST_NO_CONSTEXPR #define BOOST_NO_NULLPTR #endif +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "GNU C++ version " __VERSION__ +#endif + // ConceptGCC compiler: // http://www.generic-programming.org/software/ConceptGCC/ #ifdef __GXX_CONCEPTS__ # define BOOST_HAS_CONCEPTS # define BOOST_COMPILER "ConceptGCC version " __VERSION__ -#else -# define BOOST_NO_CONCEPTS #endif -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "GNU C++ version " __VERSION__ -#endif - -// // versions check: // we don't know gcc prior to version 2.90: #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) diff --git a/include/boost/config/compiler/hp_acc.hpp b/include/boost/config/compiler/hp_acc.hpp index d0b672ec..1515ae7c 100644 --- a/include/boost/config/compiler/hp_acc.hpp +++ b/include/boost/config/compiler/hp_acc.hpp @@ -96,7 +96,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/metrowerks.hpp b/include/boost/config/compiler/metrowerks.hpp index 21083b7a..4b9619fb 100644 --- a/include/boost/config/compiler/metrowerks.hpp +++ b/include/boost/config/compiler/metrowerks.hpp @@ -96,7 +96,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/mpw.hpp b/include/boost/config/compiler/mpw.hpp index ae12f801..a8c3aae5 100644 --- a/include/boost/config/compiler/mpw.hpp +++ b/include/boost/config/compiler/mpw.hpp @@ -44,7 +44,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/pathscale.hpp b/include/boost/config/compiler/pathscale.hpp index 13ede88d..8d986f3f 100644 --- a/include/boost/config/compiler/pathscale.hpp +++ b/include/boost/config/compiler/pathscale.hpp @@ -52,7 +52,6 @@ # define BOOST_NO_DEFAULTED_FUNCTIONS # define BOOST_NO_DECLTYPE # define BOOST_NO_CONSTEXPR -# define BOOST_NO_CONCEPTS # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # define BOOST_NO_CHAR32_T # define BOOST_NO_CHAR16_T @@ -68,14 +67,10 @@ # define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_MUTEX -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS # define BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_FORWARD_LIST -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CODECVT # define BOOST_NO_0X_HDR_CHRONO #endif diff --git a/include/boost/config/compiler/pgi.hpp b/include/boost/config/compiler/pgi.hpp index fb3a6c0b..0078e986 100644 --- a/include/boost/config/compiler/pgi.hpp +++ b/include/boost/config/compiler/pgi.hpp @@ -51,7 +51,6 @@ // #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/sunpro_cc.hpp b/include/boost/config/compiler/sunpro_cc.hpp index 85fa4625..86f3f246 100644 --- a/include/boost/config/compiler/sunpro_cc.hpp +++ b/include/boost/config/compiler/sunpro_cc.hpp @@ -103,7 +103,6 @@ #define BOOST_NO_AUTO_MULTIDECLARATIONS #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DECLTYPE #define BOOST_NO_DEFAULTED_FUNCTIONS diff --git a/include/boost/config/compiler/vacpp.hpp b/include/boost/config/compiler/vacpp.hpp index 7ad616e4..419c420d 100644 --- a/include/boost/config/compiler/vacpp.hpp +++ b/include/boost/config/compiler/vacpp.hpp @@ -78,7 +78,6 @@ # define BOOST_NO_CHAR16_T # define BOOST_NO_CHAR32_T #endif -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #if ! __IBMCPP_DECLTYPE # define BOOST_NO_DECLTYPE diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 38789367..a0204529 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -188,7 +188,6 @@ // C++0x features not supported by any versions #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS #define BOOST_NO_CONSTEXPR #define BOOST_NO_DEFAULTED_FUNCTIONS #define BOOST_NO_DECLTYPE diff --git a/include/boost/config/platform/linux.hpp b/include/boost/config/platform/linux.hpp index 51ae1334..6fdea0d6 100644 --- a/include/boost/config/platform/linux.hpp +++ b/include/boost/config/platform/linux.hpp @@ -68,6 +68,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H #include +#define BOOST_HAS_PTHREAD_YIELD #ifndef __GNUC__ // diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index a7579daa..33b56088 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -101,7 +101,6 @@ # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_REGEX # define BOOST_NO_0X_HDR_SYSTEM_ERROR -# define BOOST_NO_0X_HDR_TYPE_TRAITS # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET @@ -113,16 +112,13 @@ #if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE) # define BOOST_NO_0X_HDR_TUPLE #endif - -// C++0x headers not yet implemented // +// C++0x headers not yet (fully) implemented: +// +# define BOOST_NO_0X_HDR_TYPE_TRAITS # define BOOST_NO_0X_HDR_CHRONO -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FUTURE -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_THREAD diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp index 16a842ae..341cf970 100644 --- a/include/boost/config/stdlib/libcomo.hpp +++ b/include/boost/config/stdlib/libcomo.hpp @@ -38,14 +38,10 @@ # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/libcpp.hpp b/include/boost/config/stdlib/libcpp.hpp index db7f6f15..380ac2ae 100644 --- a/include/boost/config/stdlib/libcpp.hpp +++ b/include/boost/config/stdlib/libcpp.hpp @@ -19,11 +19,6 @@ #define BOOST_HAS_THREADS -#define BOOST_NO_0X_HDR_CONCEPTS -#define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -#define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -#define BOOST_NO_0X_HDR_MEMORY_CONCEPTS - #ifdef _LIBCPP_HAS_NO_VARIADICS # define BOOST_NO_0X_HDR_TUPLE #endif diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index c048b896..8d643224 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -104,10 +104,8 @@ // #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_NO_0X_HDR_ARRAY -# define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_REGEX # define BOOST_NO_0X_HDR_TUPLE -# define BOOST_NO_0X_HDR_TYPE_TRAITS # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET @@ -123,23 +121,24 @@ # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_SYSTEM_ERROR -# define BOOST_NO_0X_HDR_THREAD +#else +# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG +# define BOOST_HAS_TR1_COMPLEX_OVERLOADS #endif // C++0x features in GCC 4.5.0 and later // #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_NO_NUMERIC_LIMITS_LOWEST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_RANDOM #endif -// C++0x headers not yet implemented +// C++0x headers not yet (fully!) implemented // +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TYPE_TRAITS # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -# define BOOST_NO_0X_HDR_FUTURE -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_TYPEINDEX // --- end --- diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp index 147060d9..626e712b 100644 --- a/include/boost/config/stdlib/modena.hpp +++ b/include/boost/config/stdlib/modena.hpp @@ -27,14 +27,10 @@ # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index 8185e351..adb3d478 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -51,14 +51,10 @@ # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp index b43623b5..fad076dd 100644 --- a/include/boost/config/stdlib/roguewave.hpp +++ b/include/boost/config/stdlib/roguewave.hpp @@ -162,14 +162,10 @@ #endif # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp index 5731fe5e..c8d77d55 100644 --- a/include/boost/config/stdlib/sgi.hpp +++ b/include/boost/config/stdlib/sgi.hpp @@ -121,14 +121,10 @@ # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index 85176a4d..d3069992 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -215,14 +215,10 @@ namespace boost { using std::min; using std::max; } # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp index 3fcf6e05..32a1fc08 100644 --- a/include/boost/config/stdlib/vacpp.hpp +++ b/include/boost/config/stdlib/vacpp.hpp @@ -27,14 +27,10 @@ # define BOOST_NO_0X_HDR_ARRAY # define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS # define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST # define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS # define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM # define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/suffix.hpp b/include/boost/config/suffix.hpp index 9cce6fd7..3f7e5ad7 100644 --- a/include/boost/config/suffix.hpp +++ b/include/boost/config/suffix.hpp @@ -341,6 +341,9 @@ #if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) # define BOOST_NO_INITIALIZER_LISTS #endif +#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +#endif // // Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index 3321838b..fa3fbfd4 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/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 Sat Sep 25 16:53:42 2010 +# This file was automatically generated on Tue Mar 15 12:25:21 2011 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -31,9 +31,6 @@ test-suite "BOOST_HAS_BETHREADS" : 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 ] ; @@ -184,15 +181,9 @@ test-suite "BOOST_NO_0X_HDR_CHRONO" : test-suite "BOOST_NO_0X_HDR_CODECVT" : [ run ../no_0x_hdr_codecvt_pass.cpp ] [ compile-fail ../no_0x_hdr_codecvt_fail.cpp ] ; -test-suite "BOOST_NO_0X_HDR_CONCEPTS" : -[ run ../no_0x_hdr_concepts_pass.cpp ] -[ compile-fail ../no_0x_hdr_concepts_fail.cpp ] ; test-suite "BOOST_NO_0X_HDR_CONDITION_VARIABLE" : [ run ../no_0x_hdr_condition_variable_pass.cpp ] [ compile-fail ../no_0x_hdr_condition_variable_fail.cpp ] ; -test-suite "BOOST_NO_0X_HDR_CONTAINER_CONCEPTS" : -[ run ../no_0x_hdr_container_concepts_pass.cpp ] -[ compile-fail ../no_0x_hdr_container_concepts_fail.cpp ] ; test-suite "BOOST_NO_0X_HDR_FORWARD_LIST" : [ run ../no_0x_hdr_forward_list_pass.cpp ] [ compile-fail ../no_0x_hdr_forward_list_fail.cpp ] ; @@ -202,12 +193,6 @@ test-suite "BOOST_NO_0X_HDR_FUTURE" : test-suite "BOOST_NO_0X_HDR_INITIALIZER_LIST" : [ run ../no_0x_hdr_initializer_list_pass.cpp ] [ compile-fail ../no_0x_hdr_initializer_list_fail.cpp ] ; -test-suite "BOOST_NO_0X_HDR_ITERATOR_CONCEPTS" : -[ run ../no_0x_hdr_iterator_concepts_pass.cpp ] -[ compile-fail ../no_0x_hdr_iterator_concepts_fail.cpp ] ; -test-suite "BOOST_NO_0X_HDR_MEMORY_CONCEPTS" : -[ run ../no_0x_hdr_memory_concepts_pass.cpp ] -[ compile-fail ../no_0x_hdr_memory_concepts_fail.cpp ] ; test-suite "BOOST_NO_0X_HDR_MUTEX" : [ run ../no_0x_hdr_mutex_pass.cpp ] [ compile-fail ../no_0x_hdr_mutex_fail.cpp ] ; @@ -271,9 +256,6 @@ test-suite "BOOST_NO_CHAR32_T" : test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" : [ run ../no_com_value_init_pass.cpp ] [ compile-fail ../no_com_value_init_fail.cpp ] ; -test-suite "BOOST_NO_CONCEPTS" : -[ run ../no_concepts_pass.cpp ] -[ compile-fail ../no_concepts_fail.cpp ] ; test-suite "BOOST_NO_CONSTEXPR" : [ run ../no_constexpr_pass.cpp ] [ compile-fail ../no_constexpr_fail.cpp ] ; @@ -325,6 +307,9 @@ test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" : test-suite "BOOST_NO_EXTERN_TEMPLATE" : [ run ../no_extern_template_pass.cpp ] [ compile-fail ../no_extern_template_fail.cpp ] ; +test-suite "BOOST_NO_FENV_H" : +[ run ../no_fenv_h_pass.cpp ] +[ compile-fail ../no_fenv_h_fail.cpp ] ; test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" : [ run ../no_function_template_default_args_pass.cpp ] [ compile-fail ../no_function_template_default_args_fail.cpp ] ; diff --git a/test/boost_has_concepts.ipp b/test/boost_has_concepts.ipp deleted file mode 100644 index abc1740a..00000000 --- a/test/boost_has_concepts.ipp +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (C) 2007 Douglas Gregor -// 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_HAS_CONCEPTS -// TITLE: concepts -// DESCRIPTION: The compiler supports C++0x concepts - -namespace boost_has_concepts { - -concept C { } - -concept_map C { } - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_0x_hdr_array.ipp b/test/boost_no_0x_hdr_array.ipp index b61414b5..86609c8b 100644 --- a/test/boost_no_0x_hdr_array.ipp +++ b/test/boost_no_0x_hdr_array.ipp @@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_array { int test() { - return 0; + std::array a = { 1, 2, 3 }; + return a.size() == 3 ? 0 : 1; } } diff --git a/test/boost_no_0x_hdr_chrono.ipp b/test/boost_no_0x_hdr_chrono.ipp index 0f54f114..dad06692 100644 --- a/test/boost_no_0x_hdr_chrono.ipp +++ b/test/boost_no_0x_hdr_chrono.ipp @@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_chrono { int test() { + using std::chrono::nanoseconds; + using std::chrono::microseconds; + using std::chrono::milliseconds; + using std::chrono::seconds; + using std::chrono::minutes; + using std::chrono::hours; + using std::chrono::system_clock; + using std::chrono::monotonic_clock; + using std::chrono::high_resolution_clock; return 0; } diff --git a/test/boost_no_0x_hdr_codecvt.ipp b/test/boost_no_0x_hdr_codecvt.ipp index e42cca6b..96d1ee17 100644 --- a/test/boost_no_0x_hdr_codecvt.ipp +++ b/test/boost_no_0x_hdr_codecvt.ipp @@ -16,6 +16,9 @@ namespace boost_no_0x_hdr_codecvt { int test() { + using std::codecvt_utf8; + using std::codecvt_utf16; + using std::codecvt_utf8_utf16; return 0; } diff --git a/test/boost_no_0x_hdr_concepts.ipp b/test/boost_no_0x_hdr_concepts.ipp deleted file mode 100644 index dceda408..00000000 --- a/test/boost_no_0x_hdr_concepts.ipp +++ /dev/null @@ -1,22 +0,0 @@ -// (C) Copyright Beman Dawes 2009 - -// 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 more information. - -// MACRO: BOOST_NO_0X_HDR_CONCEPTS -// TITLE: C++0x header unavailable -// DESCRIPTION: The standard library does not supply C++0x header - -#include - -namespace boost_no_0x_hdr_concepts { - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_0x_hdr_condition_variable.ipp b/test/boost_no_0x_hdr_condition_variable.ipp index 585aa2cf..fc06a356 100644 --- a/test/boost_no_0x_hdr_condition_variable.ipp +++ b/test/boost_no_0x_hdr_condition_variable.ipp @@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_condition_variable { int test() { + using std::condition_variable; + using std::condition_variable_any; return 0; } diff --git a/test/boost_no_0x_hdr_container_concepts.ipp b/test/boost_no_0x_hdr_container_concepts.ipp deleted file mode 100644 index af9d5103..00000000 --- a/test/boost_no_0x_hdr_container_concepts.ipp +++ /dev/null @@ -1,22 +0,0 @@ -// (C) Copyright Beman Dawes 2009 - -// 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 more information. - -// MACRO: BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -// TITLE: C++0x header unavailable -// DESCRIPTION: The standard library does not supply C++0x header - -#include - -namespace boost_no_0x_hdr_container_concepts { - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_0x_hdr_forward_list.ipp b/test/boost_no_0x_hdr_forward_list.ipp index 45d90fa6..59d16afb 100644 --- a/test/boost_no_0x_hdr_forward_list.ipp +++ b/test/boost_no_0x_hdr_forward_list.ipp @@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_forward_list { int test() { - return 0; + std::forward_list l(2u, 2); + return *l.begin() == 2 ? 0 : 1; } } diff --git a/test/boost_no_0x_hdr_future.ipp b/test/boost_no_0x_hdr_future.ipp index 528509a8..42fd55e6 100644 --- a/test/boost_no_0x_hdr_future.ipp +++ b/test/boost_no_0x_hdr_future.ipp @@ -16,6 +16,19 @@ namespace boost_no_0x_hdr_future { int test() { + using std::is_error_code_enum; + using std::make_error_code; + using std::make_error_condition; + using std::future_category; + using std::future_error; + using std::promise; + using std::promise; + using std::promise; + using std::future; + using std::shared_future; + using std::atomic_future; + using std::packaged_task; // undefined + using std::async; return 0; } diff --git a/test/boost_no_0x_hdr_initializer_list.ipp b/test/boost_no_0x_hdr_initializer_list.ipp index 3e48cf47..c026ecbb 100644 --- a/test/boost_no_0x_hdr_initializer_list.ipp +++ b/test/boost_no_0x_hdr_initializer_list.ipp @@ -14,8 +14,13 @@ namespace boost_no_0x_hdr_initializer_list { +void foo(const std::initializer_list& l) +{ +} + int test() { + foo( { "a", "b", "c" } ); return 0; } diff --git a/test/boost_no_0x_hdr_iterator_concepts.ipp b/test/boost_no_0x_hdr_iterator_concepts.ipp deleted file mode 100644 index f0637333..00000000 --- a/test/boost_no_0x_hdr_iterator_concepts.ipp +++ /dev/null @@ -1,22 +0,0 @@ -// (C) Copyright Beman Dawes 2009 - -// 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 more information. - -// MACRO: BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -// TITLE: C++0x header unavailable -// DESCRIPTION: The standard library does not supply C++0x header - -#include - -namespace boost_no_0x_hdr_iterator_concepts { - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_0x_hdr_memory_concepts.ipp b/test/boost_no_0x_hdr_memory_concepts.ipp deleted file mode 100644 index fec1d7b0..00000000 --- a/test/boost_no_0x_hdr_memory_concepts.ipp +++ /dev/null @@ -1,22 +0,0 @@ -// (C) Copyright Beman Dawes 2009 - -// 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 more information. - -// MACRO: BOOST_NO_0X_HDR_MEMORY_CONCEPTS -// TITLE: C++0x header unavailable -// DESCRIPTION: The standard library does not supply C++0x header - -#include - -namespace boost_no_0x_hdr_memory_concepts { - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_0x_hdr_mutex.ipp b/test/boost_no_0x_hdr_mutex.ipp index c1e7ec9c..d3a9d25b 100644 --- a/test/boost_no_0x_hdr_mutex.ipp +++ b/test/boost_no_0x_hdr_mutex.ipp @@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_mutex { int test() { + using std::mutex; + using std::recursive_mutex; + using std::timed_mutex; + using std::recursive_timed_mutex; return 0; } diff --git a/test/boost_no_0x_hdr_random.ipp b/test/boost_no_0x_hdr_random.ipp index 956f24e2..07d58b5e 100644 --- a/test/boost_no_0x_hdr_random.ipp +++ b/test/boost_no_0x_hdr_random.ipp @@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_random { int test() { + using std::minstd_rand0; + using std::mt19937; + using std::mt19937_64; + using std::ranlux24_base; + using std::ranlux48_base; + using std::ranlux24; + using std::ranlux48; + using std::knuth_b; + using std::default_random_engine; return 0; } diff --git a/test/boost_no_0x_hdr_ratio.ipp b/test/boost_no_0x_hdr_ratio.ipp index 8200b41a..beeab5b7 100644 --- a/test/boost_no_0x_hdr_ratio.ipp +++ b/test/boost_no_0x_hdr_ratio.ipp @@ -16,6 +16,21 @@ namespace boost_no_0x_hdr_ratio { int test() { + using std::atto; + using std::femto; + using std::pico; + using std::nano; + using std::micro; + using std::milli; + using std::centi; + using std::deci; + using std::deca; + using std::hecto; + using std::kilo; + using std::mega; + using std::tera; + using std::peta; + using std::exa; return 0; } diff --git a/test/boost_no_0x_hdr_regex.ipp b/test/boost_no_0x_hdr_regex.ipp index 1b40caf1..f82693e3 100644 --- a/test/boost_no_0x_hdr_regex.ipp +++ b/test/boost_no_0x_hdr_regex.ipp @@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_regex { int test() { + using std::regex; + using std::wregex; return 0; } diff --git a/test/boost_no_0x_hdr_system_error.ipp b/test/boost_no_0x_hdr_system_error.ipp index a69912f3..158f7c1e 100644 --- a/test/boost_no_0x_hdr_system_error.ipp +++ b/test/boost_no_0x_hdr_system_error.ipp @@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_system_error { int test() { + using std::error_category; + using std::error_code; + using std::error_condition; + using std::system_error; return 0; } diff --git a/test/boost_no_0x_hdr_thread.ipp b/test/boost_no_0x_hdr_thread.ipp index a6dfa057..c07b03e4 100644 --- a/test/boost_no_0x_hdr_thread.ipp +++ b/test/boost_no_0x_hdr_thread.ipp @@ -16,6 +16,11 @@ namespace boost_no_0x_hdr_thread { int test() { + using std::thread; + using std::this_thread::get_id; + using std::this_thread::yield; + using std::this_thread::sleep_until; + using std::this_thread::sleep_for; return 0; } diff --git a/test/boost_no_0x_hdr_type_traits.ipp b/test/boost_no_0x_hdr_type_traits.ipp index 9993804a..44dc6a6f 100644 --- a/test/boost_no_0x_hdr_type_traits.ipp +++ b/test/boost_no_0x_hdr_type_traits.ipp @@ -16,6 +16,90 @@ namespace boost_no_0x_hdr_type_traits { int test() { + using std::integral_constant; + using std::true_type; + using std::false_type; + using std::is_void; + using std::is_integral; + using std::is_floating_point; + using std::is_array; + using std::is_pointer; + using std::is_lvalue_reference; + using std::is_rvalue_reference; + using std::is_member_object_pointer; + using std::is_member_function_pointer; + using std::is_enum; + using std::is_union; + using std::is_class; + using std::is_function; + using std::is_reference; + using std::is_arithmetic; + using std::is_fundamental; + using std::is_object; + using std::is_scalar; + using std::is_compound; + using std::is_member_pointer; + using std::is_const; + using std::is_volatile; + using std::is_trivial; + using std::is_trivially_copyable; + using std::is_standard_layout; + using std::is_pod; + using std::is_literal_type; + using std::is_empty; + using std::is_polymorphic; + using std::is_abstract; + using std::is_constructible; + using std::is_nothrow_constructible; + using std::has_default_constructor; + using std::has_copy_constructor; + using std::has_copy_assign; + using std::has_move_constructor; + using std::has_move_assign; + using std::has_trivial_default_constructor; + using std::has_trivial_copy_constructor; + using std::has_trivial_move_constructor; + using std::has_trivial_copy_assign; + using std::has_trivial_move_assign; + using std::has_trivial_destructor; + using std::has_nothrow_default_constructor; + using std::has_nothrow_copy_constructor; + using std::has_nothrow_move_constructor; + using std::has_nothrow_copy_assign; + using std::has_nothrow_move_assign; + using std::has_virtual_destructor; + using std::is_signed; + using std::is_unsigned; + using std::alignment_of; + using std::rank; + using std::extent; + using std::is_same; + using std::is_base_of; + using std::is_convertible; + using std::is_explicitly_convertible; + using std::remove_const; + using std::remove_volatile; + using std::remove_cv; + using std::add_const; + using std::add_volatile; + using std::add_cv; + using std::remove_reference; + using std::add_lvalue_reference; + using std::add_rvalue_reference; + using std::make_signed; + using std::make_unsigned; + using std::remove_extent; + using std::remove_all_extents; + using std::remove_pointer; + using std::add_pointer; + using std::aligned_storage; + using std::aligned_union; + using std::decay; + using std::enable_if; + using std::conditional; + using std::common_type; + using std::underlying_type; + using std::result_of; return 0; } diff --git a/test/boost_no_0x_hdr_unordered_map.ipp b/test/boost_no_0x_hdr_unordered_map.ipp index 5377535b..3d44a1c5 100644 --- a/test/boost_no_0x_hdr_unordered_map.ipp +++ b/test/boost_no_0x_hdr_unordered_map.ipp @@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_map { int test() { - return 0; + std::unordered_map s1; + std::unordered_multimap s2; + return s1.empty() && s2.empty() ? 0 : 1; } } diff --git a/test/boost_no_0x_hdr_unordered_set.ipp b/test/boost_no_0x_hdr_unordered_set.ipp index 2bf6cd95..f72f1b6a 100644 --- a/test/boost_no_0x_hdr_unordered_set.ipp +++ b/test/boost_no_0x_hdr_unordered_set.ipp @@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_set { int test() { - return 0; + std::unordered_set s1; + std::unordered_multiset s2; + return s1.empty() && s2.empty() ? 0 : 1; } } diff --git a/test/boost_no_concepts.ipp b/test/boost_no_concepts.ipp deleted file mode 100644 index d5202b0d..00000000 --- a/test/boost_no_concepts.ipp +++ /dev/null @@ -1,22 +0,0 @@ -// (C) Copyright Beman Dawes 2009 - -// 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 more information. - -// MACRO: BOOST_NO_CONCEPTS -// TITLE: C++0x concepts feature unavailable -// DESCRIPTION: The compiler does not support the C++0x concepts feature - -namespace boost_no_concepts { - -concept Foo { } - -int test() -{ - return 0; -} - -} diff --git a/test/boost_no_constexpr.ipp b/test/boost_no_constexpr.ipp index 4ab80a02..0143f55c 100644 --- a/test/boost_no_constexpr.ipp +++ b/test/boost_no_constexpr.ipp @@ -14,6 +14,26 @@ namespace boost_no_constexpr { constexpr int square(int x) { return x * x; } // from N2235 +// from 5.19: +constexpr const int* addr(const int& ir) { return &ir; } +static const int x = 5; +constexpr const int* xp = addr(x); + +struct A +{ + constexpr A(int i) : val(i) { } + constexpr operator int() { return val; } + constexpr operator long() { return 43; } +private: + int val; +}; + +template struct X { }; + +constexpr A a = 42; + +X x; // OK: unique conversion to int + int test() { int i = square(5); diff --git a/test/boost_no_initializer_lists.ipp b/test/boost_no_initializer_lists.ipp index 4bc96a28..22897e1e 100644 --- a/test/boost_no_initializer_lists.ipp +++ b/test/boost_no_initializer_lists.ipp @@ -12,6 +12,7 @@ #include #include +#include namespace boost_no_initializer_lists { diff --git a/test/boost_no_scoped_enums.ipp b/test/boost_no_scoped_enums.ipp index 1396da18..8b6a4a66 100644 --- a/test/boost_no_scoped_enums.ipp +++ b/test/boost_no_scoped_enums.ipp @@ -15,7 +15,14 @@ namespace boost_no_scoped_enums { int test() { enum class scoped_enum { yes, no, maybe }; - return 0; + // This tests bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 + bool b = (scoped_enum::yes == scoped_enum::yes) + && (scoped_enum::yes != scoped_enum::no) + && (scoped_enum::yes < scoped_enum::no) + && (scoped_enum::yes <= scoped_enum::no) + && (scoped_enum::no > scoped_enum::yes) + && (scoped_enum::no >= scoped_enum::yes); + return b ? 0 : 1; } } diff --git a/test/config_info.cpp b/test/config_info.cpp index 762e6c56..1abe8d8c 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -914,7 +914,6 @@ void print_boost_macros() PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); PRINT_MACRO(BOOST_HAS_BETHREADS); PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); - PRINT_MACRO(BOOST_HAS_CONCEPTS); PRINT_MACRO(BOOST_HAS_DIRENT_H); PRINT_MACRO(BOOST_HAS_EXPM1); PRINT_MACRO(BOOST_HAS_FTIME); @@ -966,14 +965,10 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_0X_HDR_ARRAY); PRINT_MACRO(BOOST_NO_0X_HDR_CHRONO); PRINT_MACRO(BOOST_NO_0X_HDR_CODECVT); - PRINT_MACRO(BOOST_NO_0X_HDR_CONCEPTS); PRINT_MACRO(BOOST_NO_0X_HDR_CONDITION_VARIABLE); - PRINT_MACRO(BOOST_NO_0X_HDR_CONTAINER_CONCEPTS); PRINT_MACRO(BOOST_NO_0X_HDR_FORWARD_LIST); PRINT_MACRO(BOOST_NO_0X_HDR_FUTURE); PRINT_MACRO(BOOST_NO_0X_HDR_INITIALIZER_LIST); - PRINT_MACRO(BOOST_NO_0X_HDR_ITERATOR_CONCEPTS); - PRINT_MACRO(BOOST_NO_0X_HDR_MEMORY_CONCEPTS); PRINT_MACRO(BOOST_NO_0X_HDR_MUTEX); PRINT_MACRO(BOOST_NO_0X_HDR_RANDOM); PRINT_MACRO(BOOST_NO_0X_HDR_RATIO); @@ -994,7 +989,6 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_CHAR16_T); PRINT_MACRO(BOOST_NO_CHAR32_T); PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION); - PRINT_MACRO(BOOST_NO_CONCEPTS); PRINT_MACRO(BOOST_NO_CONSTEXPR); PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); @@ -1011,6 +1005,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS); PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE); + PRINT_MACRO(BOOST_NO_FENV_H); PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS); PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); @@ -1078,6 +1073,8 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES); PRINT_MACRO(BOOST_NO_VOID_RETURNS); + + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 90d13fd2..2a83e6d6 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Sat Sep 25 16:53:42 2010 +// This file was automatically generated on Tue Mar 15 12:25:21 2011 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -37,21 +37,11 @@ namespace boost_no_0x_hdr_chrono = empty_boost; #else namespace boost_no_0x_hdr_codecvt = empty_boost; #endif -#ifndef BOOST_NO_0X_HDR_CONCEPTS -#include "boost_no_0x_hdr_concepts.ipp" -#else -namespace boost_no_0x_hdr_concepts = empty_boost; -#endif #ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE #include "boost_no_0x_hdr_condition_variable.ipp" #else namespace boost_no_0x_hdr_condition_variable = empty_boost; #endif -#ifndef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -#include "boost_no_0x_hdr_container_concepts.ipp" -#else -namespace boost_no_0x_hdr_container_concepts = empty_boost; -#endif #ifndef BOOST_NO_0X_HDR_FORWARD_LIST #include "boost_no_0x_hdr_forward_list.ipp" #else @@ -67,16 +57,6 @@ namespace boost_no_0x_hdr_future = empty_boost; #else namespace boost_no_0x_hdr_initializer_list = empty_boost; #endif -#ifndef BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -#include "boost_no_0x_hdr_iterator_concepts.ipp" -#else -namespace boost_no_0x_hdr_iterator_concepts = empty_boost; -#endif -#ifndef BOOST_NO_0X_HDR_MEMORY_CONCEPTS -#include "boost_no_0x_hdr_memory_concepts.ipp" -#else -namespace boost_no_0x_hdr_memory_concepts = empty_boost; -#endif #ifndef BOOST_NO_0X_HDR_MUTEX #include "boost_no_0x_hdr_mutex.ipp" #else @@ -182,11 +162,6 @@ namespace boost_no_char32_t = empty_boost; #else namespace boost_no_complete_value_initialization = empty_boost; #endif -#ifndef BOOST_NO_CONCEPTS -#include "boost_no_concepts.ipp" -#else -namespace boost_no_concepts = empty_boost; -#endif #ifndef BOOST_NO_CONSTEXPR #include "boost_no_constexpr.ipp" #else @@ -272,6 +247,11 @@ namespace boost_no_explicit_function_template_arguments = empty_boost; #else namespace boost_no_extern_template = empty_boost; #endif +#ifndef BOOST_NO_FENV_H +#include "boost_no_fenv_h.ipp" +#else +namespace boost_no_fenv_h = empty_boost; +#endif #ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #include "boost_no_function_template_default_args.ipp" #else @@ -623,11 +603,6 @@ namespace boost_has_bethreads = empty_boost; #else namespace boost_has_clock_gettime = empty_boost; #endif -#ifdef BOOST_HAS_CONCEPTS -#include "boost_has_concepts.ipp" -#else -namespace boost_has_concepts = empty_boost; -#endif #ifdef BOOST_HAS_DIRENT_H #include "boost_has_dirent_h.ipp" #else @@ -881,11 +856,6 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } - if(0 != boost_has_concepts::test()) - { - std::cerr << "Failed test for BOOST_HAS_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } if(0 != boost_has_dirent_h::test()) { std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl; @@ -1136,21 +1106,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_0X_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } - if(0 != boost_no_0x_hdr_concepts::test()) - { - std::cerr << "Failed test for BOOST_NO_0X_HDR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } if(0 != boost_no_0x_hdr_condition_variable::test()) { std::cerr << "Failed test for BOOST_NO_0X_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } - if(0 != boost_no_0x_hdr_container_concepts::test()) - { - std::cerr << "Failed test for BOOST_NO_0X_HDR_CONTAINER_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } if(0 != boost_no_0x_hdr_forward_list::test()) { std::cerr << "Failed test for BOOST_NO_0X_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; @@ -1166,16 +1126,6 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_0X_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } - if(0 != boost_no_0x_hdr_iterator_concepts::test()) - { - std::cerr << "Failed test for BOOST_NO_0X_HDR_ITERATOR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } - if(0 != boost_no_0x_hdr_memory_concepts::test()) - { - std::cerr << "Failed test for BOOST_NO_0X_HDR_MEMORY_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } if(0 != boost_no_0x_hdr_mutex::test()) { std::cerr << "Failed test for BOOST_NO_0X_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl; @@ -1281,11 +1231,6 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } - if(0 != boost_no_concepts::test()) - { - std::cerr << "Failed test for BOOST_NO_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl; - ++error_count; - } if(0 != boost_no_constexpr::test()) { std::cerr << "Failed test for BOOST_NO_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; @@ -1371,6 +1316,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_fenv_h::test()) + { + std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_function_template_default_args::test()) { std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/has_concepts_fail.cpp b/test/has_concepts_fail.cpp deleted file mode 100644 index d864f8f4..00000000 --- a/test/has_concepts_fail.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// This file was automatically generated on Sat Aug 25 12:32:20 2007 -// 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. - -// Test file for macro BOOST_HAS_CONCEPTS -// This file should not compile, if it does then -// BOOST_HAS_CONCEPTS should be defined. -// See file boost_has_concepts.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_HAS_CONCEPTS -#include "boost_has_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_has_concepts::test(); -} - diff --git a/test/has_concepts_pass.cpp b/test/has_concepts_pass.cpp deleted file mode 100644 index 1883693d..00000000 --- a/test/has_concepts_pass.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// This file was automatically generated on Sat Aug 25 12:32:20 2007 -// 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. - -// Test file for macro BOOST_HAS_CONCEPTS -// This file should compile, if it does not then -// BOOST_HAS_CONCEPTS should not be defined. -// See file boost_has_concepts.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_HAS_CONCEPTS -#include "boost_has_concepts.ipp" -#else -namespace boost_has_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_has_concepts::test(); -} - diff --git a/test/no_0x_hdr_concepts_fail.cpp b/test/no_0x_hdr_concepts_fail.cpp deleted file mode 100644 index d9572a19..00000000 --- a/test/no_0x_hdr_concepts_fail.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_CONCEPTS -// This file should not compile, if it does then -// BOOST_NO_0X_HDR_CONCEPTS should not be defined. -// See file boost_no_0x_hdr_concepts.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_0X_HDR_CONCEPTS -#include "boost_no_0x_hdr_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_concepts::test(); -} - diff --git a/test/no_0x_hdr_concepts_pass.cpp b/test/no_0x_hdr_concepts_pass.cpp deleted file mode 100644 index 335043bf..00000000 --- a/test/no_0x_hdr_concepts_pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_CONCEPTS -// This file should compile, if it does not then -// BOOST_NO_0X_HDR_CONCEPTS should be defined. -// See file boost_no_0x_hdr_concepts.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_0X_HDR_CONCEPTS -#include "boost_no_0x_hdr_concepts.ipp" -#else -namespace boost_no_0x_hdr_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_concepts::test(); -} - diff --git a/test/no_0x_hdr_container_concepts_fail.cpp b/test/no_0x_hdr_container_concepts_fail.cpp deleted file mode 100644 index e5eb9a08..00000000 --- a/test/no_0x_hdr_container_concepts_fail.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -// This file should not compile, if it does then -// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should not be defined. -// See file boost_no_0x_hdr_container_concepts.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_0X_HDR_CONTAINER_CONCEPTS -#include "boost_no_0x_hdr_container_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_container_concepts::test(); -} - diff --git a/test/no_0x_hdr_container_concepts_pass.cpp b/test/no_0x_hdr_container_concepts_pass.cpp deleted file mode 100644 index e2e4fc97..00000000 --- a/test/no_0x_hdr_container_concepts_pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS -// This file should compile, if it does not then -// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should be defined. -// See file boost_no_0x_hdr_container_concepts.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_0X_HDR_CONTAINER_CONCEPTS -#include "boost_no_0x_hdr_container_concepts.ipp" -#else -namespace boost_no_0x_hdr_container_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_container_concepts::test(); -} - diff --git a/test/no_0x_hdr_iterator_concepts_fail.cpp b/test/no_0x_hdr_iterator_concepts_fail.cpp deleted file mode 100644 index 728a31c4..00000000 --- a/test/no_0x_hdr_iterator_concepts_fail.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -// This file should not compile, if it does then -// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should not be defined. -// See file boost_no_0x_hdr_iterator_concepts.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_0X_HDR_ITERATOR_CONCEPTS -#include "boost_no_0x_hdr_iterator_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_iterator_concepts::test(); -} - diff --git a/test/no_0x_hdr_iterator_concepts_pass.cpp b/test/no_0x_hdr_iterator_concepts_pass.cpp deleted file mode 100644 index 77d8d20d..00000000 --- a/test/no_0x_hdr_iterator_concepts_pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -// This file should compile, if it does not then -// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should be defined. -// See file boost_no_0x_hdr_iterator_concepts.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_0X_HDR_ITERATOR_CONCEPTS -#include "boost_no_0x_hdr_iterator_concepts.ipp" -#else -namespace boost_no_0x_hdr_iterator_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_iterator_concepts::test(); -} - diff --git a/test/no_0x_hdr_memory_concepts_fail.cpp b/test/no_0x_hdr_memory_concepts_fail.cpp deleted file mode 100644 index aef47c02..00000000 --- a/test/no_0x_hdr_memory_concepts_fail.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS -// This file should not compile, if it does then -// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should not be defined. -// See file boost_no_0x_hdr_memory_concepts.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_0X_HDR_MEMORY_CONCEPTS -#include "boost_no_0x_hdr_memory_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_memory_concepts::test(); -} - diff --git a/test/no_0x_hdr_memory_concepts_pass.cpp b/test/no_0x_hdr_memory_concepts_pass.cpp deleted file mode 100644 index 516b50ed..00000000 --- a/test/no_0x_hdr_memory_concepts_pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS -// This file should compile, if it does not then -// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should be defined. -// See file boost_no_0x_hdr_memory_concepts.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_0X_HDR_MEMORY_CONCEPTS -#include "boost_no_0x_hdr_memory_concepts.ipp" -#else -namespace boost_no_0x_hdr_memory_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_no_0x_hdr_memory_concepts::test(); -} - diff --git a/test/no_concepts_fail.cpp b/test/no_concepts_fail.cpp deleted file mode 100644 index 6478e187..00000000 --- a/test/no_concepts_fail.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_CONCEPTS -// This file should not compile, if it does then -// BOOST_NO_CONCEPTS should not be defined. -// See file boost_no_concepts.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_CONCEPTS -#include "boost_no_concepts.ipp" -#else -#error "this file should not compile" -#endif - -int main( int, char *[] ) -{ - return boost_no_concepts::test(); -} - diff --git a/test/no_concepts_pass.cpp b/test/no_concepts_pass.cpp deleted file mode 100644 index ad36d9c2..00000000 --- a/test/no_concepts_pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// This file was automatically generated on Fri May 15 11:57:42 2009 -// 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$ -// - - -// Test file for macro BOOST_NO_CONCEPTS -// This file should compile, if it does not then -// BOOST_NO_CONCEPTS should be defined. -// See file boost_no_concepts.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_CONCEPTS -#include "boost_no_concepts.ipp" -#else -namespace boost_no_concepts = empty_boost; -#endif - -int main( int, char *[] ) -{ - return boost_no_concepts::test(); -} - diff --git a/tools/generate.cpp b/tools/generate.cpp index 87adc55c..c9a0b0d4 100644 --- a/tools/generate.cpp +++ b/tools/generate.cpp @@ -124,7 +124,7 @@ void write_test_file(const fs::path& file, { if(!fs::exists(file)) { - std::cout << "Writing test file " << file.native_directory_string() << std::endl; + std::cout << "Writing test file " << file.string() << std::endl; fs::ofstream ofs(file); std::time_t t = std::time(0); @@ -180,13 +180,13 @@ void write_test_file(const fs::path& file, } else { - std::cout << "Skipping existing test file " << file.native_directory_string() << std::endl; + std::cout << "Skipping existing test file " << file.string() << std::endl; } } void process_ipp_file(const fs::path& file, bool positive_test) { - std::cout << "Info: Scanning file: " << file.native_directory_string() << std::endl; + std::cout << "Info: Scanning file: " << file.string() << std::endl; // our variables: std::string file_text; @@ -210,7 +210,7 @@ void process_ipp_file(const fs::path& file, bool positive_test) } if(macro_name.empty()) { - std::cout << "Error: no macro definition found in " << file.native_directory_string(); + std::cout << "Error: no macro definition found in " << file.string(); } else { @@ -219,10 +219,10 @@ void process_ipp_file(const fs::path& file, bool positive_test) // get the output filesnames: boost::regex file_regex("boost_([^.]+)\\.ipp"); - positive_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_pass.cpp"); - negative_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_fail.cpp"); - write_test_file(positive_file, macro_name, namespace_name, file.leaf(), positive_test, true); - write_test_file(negative_file, macro_name, namespace_name, file.leaf(), positive_test, false); + positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp"); + negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp"); + write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true); + write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false); // always create config_test data, // positive and negative tests go to separate streams, because for some @@ -232,7 +232,7 @@ void process_ipp_file(const fs::path& file, bool positive_test) if(!positive_test) *pout << "n"; *pout << "def " << macro_name - << "\n#include \"" << file.leaf() << "\"\n#else\nnamespace " + << "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace " << namespace_name << " = empty_boost;\n#endif\n"; config_test2 << " if(0 != " << namespace_name << "::test())\n" @@ -243,12 +243,12 @@ void process_ipp_file(const fs::path& file, bool positive_test) // always generate the jamfile data: jamfile << "test-suite \"" << macro_name << "\" : \n" - "[ run " << positive_file.leaf() << "