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_TEMPLATE_ALIASES
@@ -2883,14 +2819,12 @@
-
-
-
+
The following macros are either simple helpers, or macros that provide workarounds
for compiler/standard library defects.
@@ -3294,14 +3228,12 @@
-
-
-
+
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
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 @@
Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock
-
-
-
+
![[Important]](../../../../doc/src/images/important.png) |
Important |
@@ -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 @@
-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() << " config_options ]\n"
- "[ compile-fail " << negative_file.leaf() << " config_options ] ;\n";
+ "[ run " << positive_file.leaf().string() << " config_options ]\n"
+ "[ compile-fail " << negative_file.leaf().string() << " config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
- "[ run ../" << positive_file.leaf() << " ]\n"
- "[ compile-fail ../" << negative_file.leaf() << " ] ;\n";
+ "[ run ../" << positive_file.leaf().string() << " ]\n"
+ "[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
}
@@ -268,7 +268,7 @@ int cpp_main(int argc, char* argv[])
fs::path p(__FILE__, fs::native);
config_path = p.branch_path().branch_path() / "test";
}
- std::cout << "Info: Boost.Config test path set as: " << config_path.native_directory_string() << std::endl;
+ std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
// enumerate *.ipp files:
boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp");
@@ -276,7 +276,7 @@ int cpp_main(int argc, char* argv[])
fs::directory_iterator i(config_path), j;
while(i != j)
{
- if(boost::regex_match(i->path().leaf(), ipp_match, ipp_mask))
+ if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
{
process_ipp_file(*i, ipp_match[1].matched);
}
|