diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html
index cd60c7f7..21c225ee 100644
--- a/doc/html/boost_config/boost_macro_reference.html
+++ b/doc/html/boost_config/boost_macro_reference.html
@@ -2404,7 +2404,7 @@
BOOST_NO_CXX11_HDR_ARRAY
diff --git a/doc/html/index.html b/doc/html/index.html
index 273c21cf..cf18f912 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -951,7 +951,7 @@
-Last revised: September 08, 2013 at 08:51:17 GMT |
+Last revised: December 12, 2013 at 19:29:48 GMT |
|
diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk
index 40123e63..f223e8bd 100644
--- a/doc/macro_reference.qbk
+++ b/doc/macro_reference.qbk
@@ -580,7 +580,8 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in .]]
-[[`BOOST_NO_CXX11_ATOMIC_SP`][The standard library does not support atomic smart pointer operations.]]
+[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library does not support atomic smart pointer operations.]]
+[[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header .]]
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header .]]
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header .]]
[[`BOOST_NO_CXX11_HDR_CODECVT`][The standard library does not provide header .]]
diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp
index 1fc41d1c..fb30fc12 100644
--- a/include/boost/config/compiler/visualc.hpp
+++ b/include/boost/config/compiler/visualc.hpp
@@ -86,17 +86,6 @@
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-// Windows CE does not have a conforming signature for swprintf
-# define BOOST_NO_SWPRINTF
-#endif
-
-// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
-#if !defined(_WIN32_WCE) && !defined(UNDER_CE)
-# define BOOST_HAS_THREADEX
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
//
// check for exception handling support:
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
@@ -176,13 +165,13 @@
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+# define BOOST_NO_CXX11_DECLTYPE_N3276
#endif
// C++11 features not supported by any versions
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_NOEXCEPT
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_SFINAE_EXPR
diff --git a/include/boost/config/platform/win32.hpp b/include/boost/config/platform/win32.hpp
index 6ab59f4e..2a91519e 100644
--- a/include/boost/config/platform/win32.hpp
+++ b/include/boost/config/platform/win32.hpp
@@ -55,16 +55,23 @@
// all translation units (needed for shared_ptr etc).
//
-#ifdef _WIN32_WCE
-# define BOOST_NO_ANSI_APIS
-#else
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
#ifndef BOOST_HAS_PTHREADS
# define BOOST_HAS_WINTHREADS
#endif
+//
+// WinCE configuration:
+//
+#if defined(_WIN32_WCE) || defined(UNDER_CE)
+# define BOOST_NO_ANSI_APIS
+// Windows CE does not have a conforming signature for swprintf
+# define BOOST_NO_SWPRINTF
+#else
+# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
+# define BOOST_HAS_THREADEX
+# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#endif
+
#ifndef BOOST_DISABLE_WIN32
// WEK: Added
#define BOOST_HAS_FTIME
diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp
index 96e2b6aa..f31a0cdd 100644
--- a/include/boost/config/stdlib/dinkumware.hpp
+++ b/include/boost/config/stdlib/dinkumware.hpp
@@ -142,6 +142,7 @@
//
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+# define BOOST_NO_CXX11_HDR_ATOMIC
#endif
#ifdef _CPPLIB_VER
diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp
index 29490f1b..d02e9e07 100644
--- a/include/boost/config/stdlib/libcomo.hpp
+++ b/include/boost/config/stdlib/libcomo.hpp
@@ -58,6 +58,7 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
//
// Intrinsic type_traits support.
diff --git a/include/boost/config/stdlib/libcpp.hpp b/include/boost/config/stdlib/libcpp.hpp
index 3d574407..761017f2 100644
--- a/include/boost/config/stdlib/libcpp.hpp
+++ b/include/boost/config/stdlib/libcpp.hpp
@@ -30,6 +30,7 @@
# define BOOST_NO_CXX11_HDR_FUTURE
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+# define BOOST_NO_CXX11_HDR_ATOMIC
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp
index 976ab76b..d1322027 100644
--- a/include/boost/config/stdlib/libstdcpp3.hpp
+++ b/include/boost/config/stdlib/libstdcpp3.hpp
@@ -156,6 +156,12 @@
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_ALLOCATOR
#endif
+// C++0x features in GCC 4.7.0 and later
+//
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
+// Note that although existed prior to gcc 4.8 it was largely unimplemented for many types:
+# define BOOST_NO_CXX11_HDR_ATOMIC
+#endif
// C++0x headers not yet (fully!) implemented
//
# define BOOST_NO_CXX11_HDR_THREAD
diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp
index b483b6e0..956bffce 100644
--- a/include/boost/config/stdlib/modena.hpp
+++ b/include/boost/config/stdlib/modena.hpp
@@ -47,6 +47,7 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_STDLIB "Modena C++ standard library"
diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp
index 4f9a2da6..05e2582d 100644
--- a/include/boost/config/stdlib/msl.hpp
+++ b/include/boost/config/stdlib/msl.hpp
@@ -71,6 +71,7 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp
index cb80f570..72823d5d 100644
--- a/include/boost/config/stdlib/roguewave.hpp
+++ b/include/boost/config/stdlib/roguewave.hpp
@@ -183,4 +183,5 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp
index ae9b6ad9..ed7ea613 100644
--- a/include/boost/config/stdlib/sgi.hpp
+++ b/include/boost/config/stdlib/sgi.hpp
@@ -141,6 +141,7 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_STDLIB "SGI standard library"
diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp
index bcc30b99..1b7beeb9 100644
--- a/include/boost/config/stdlib/stlport.hpp
+++ b/include/boost/config/stdlib/stlport.hpp
@@ -231,6 +231,7 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp
index 9d169465..08268249 100644
--- a/include/boost/config/stdlib/vacpp.hpp
+++ b/include/boost/config/stdlib/vacpp.hpp
@@ -47,6 +47,7 @@
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
+# define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_STDLIB "Visual Age default standard library"
diff --git a/include/boost/config/suffix.hpp b/include/boost/config/suffix.hpp
index 485a5bc5..25b0508f 100644
--- a/include/boost/config/suffix.hpp
+++ b/include/boost/config/suffix.hpp
@@ -558,7 +558,13 @@ namespace std{ using ::type_info; }
# define BOOST_NOINLINE __declspec(noinline)
# elif defined(__GNUC__) && __GNUC__ > 3
// Clang also defines __GNUC__ (as 4)
-# define BOOST_NOINLINE __attribute__ ((__noinline__))
+# if defined(__CUDACC__)
+ // nvcc doesn't always parse __noinline__,
+ // see: https://svn.boost.org/trac/boost/ticket/9392
+# define BOOST_NOINLINE __attribute__ ((noinline))
+# else
+# define BOOST_NOINLINE __attribute__ ((__noinline__))
+# endif
# else
# define BOOST_NOINLINE
# endif
diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2
index 262d79db..ba09a333 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 Sun Apr 28 18:36:49 2013
+# This file was automatically generated on Thu Dec 12 19:09:40 2013
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -226,9 +226,6 @@ test-suite "BOOST_NO_CWCHAR" :
test-suite "BOOST_NO_CWCTYPE" :
[ run ../no_cwctype_pass.cpp ]
[ compile-fail ../no_cwctype_fail.cpp ] ;
-test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
-[ run ../no_raw_literals_pass.cpp ]
-[ compile-fail ../no_raw_literals_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_ALIGNAS" :
[ run ../no_cxx11_alignas_pass.cpp ]
[ compile-fail ../no_cxx11_alignas_fail.cpp ] ;
@@ -241,6 +238,9 @@ test-suite "BOOST_NO_CXX11_ATOMIC_SMART_PTR" :
test-suite "BOOST_NO_CXX11_HDR_ARRAY" :
[ run ../no_cxx11_hdr_array_pass.cpp ]
[ compile-fail ../no_cxx11_hdr_array_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_ATOMIC" :
+[ run ../no_cxx11_hdr_atomic_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_atomic_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_HDR_CHRONO" :
[ run ../no_cxx11_hdr_chrono_pass.cpp ]
[ compile-fail ../no_cxx11_hdr_chrono_fail.cpp ] ;
@@ -292,7 +292,7 @@ test-suite "BOOST_NO_CXX11_HDR_UNORDERED_MAP" :
test-suite "BOOST_NO_CXX11_HDR_UNORDERED_SET" :
[ run ../no_cxx11_hdr_unordered_set_pass.cpp ]
[ compile-fail ../no_cxx11_hdr_unordered_set_fail.cpp ] ;
-test-suite "BOOST_NO_CXX11_INLINE_NAMESPACES" :
+test-suite "BOOST_NO_CXX11_INLINE_NAMESPACES" :
[ run ../no_cxx11_inline_namespaces_pass.cpp ]
[ compile-fail ../no_cxx11_inline_namespaces_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
@@ -301,7 +301,7 @@ test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
test-suite "BOOST_NO_CXX11_SMART_PTR" :
[ run ../no_cxx11_smart_ptr_pass.cpp ]
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
-test-suite "BOOST_NO_CXX11_TRAILING_RESULT_TYPES" :
+test-suite "BOOST_NO_CXX11_TRAILING_RESULT_TYPES" :
[ run ../no_cxx11_trailing_result_types_pass.cpp ]
[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_USER_DEFINED_LITERALS" :
@@ -436,6 +436,9 @@ test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
[ run ../no_range_based_for_pass.cpp ]
[ compile-fail ../no_range_based_for_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
+[ run ../no_raw_literals_pass.cpp ]
+[ compile-fail ../no_raw_literals_fail.cpp ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run ../no_ret_det_pass.cpp ]
[ compile-fail ../no_ret_det_fail.cpp ] ;
diff --git a/test/boost_no_constexpr.ipp b/test/boost_no_constexpr.ipp
index 82de2e2d..563bdb20 100644
--- a/test/boost_no_constexpr.ipp
+++ b/test/boost_no_constexpr.ipp
@@ -24,15 +24,15 @@ constexpr const int* xp = addr(x);
struct A
{
constexpr A(int i) : val(i) { }
- constexpr operator int() { return val; }
- constexpr operator long() { return 43; }
+ constexpr operator int()const { return val; }
+ constexpr operator long()const { return 43; }
private:
int val;
};
template struct X { };
-constexpr A a = 42;
+constexpr const A a = 42;
X xx; // OK: unique conversion to int
diff --git a/test/boost_no_cxx11_hdr_atomic.ipp b/test/boost_no_cxx11_hdr_atomic.ipp
new file mode 100644
index 00000000..7378e8cb
--- /dev/null
+++ b/test/boost_no_cxx11_hdr_atomic.ipp
@@ -0,0 +1,89 @@
+// (C) Copyright John Maddock 2013
+
+// 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_CXX11_HDR_ATOMIC
+// TITLE: C++11 header is either not present or too broken to be used
+// DESCRIPTION: The compiler does not support the C++11 header
+
+#include
+
+#if !defined(ATOMIC_BOOL_LOCK_FREE) || !defined(ATOMIC_CHAR_LOCK_FREE) || !defined(ATOMIC_CHAR16_T_LOCK_FREE) \
+ || !defined(ATOMIC_CHAR32_T_LOCK_FREE) || !defined(ATOMIC_WCHAR_T_LOCK_FREE) || !defined(ATOMIC_SHORT_LOCK_FREE)\
+ || !defined(ATOMIC_INT_LOCK_FREE) || !defined(ATOMIC_LONG_LOCK_FREE) || !defined(ATOMIC_LLONG_LOCK_FREE)\
+ || !defined(ATOMIC_POINTER_LOCK_FREE)
+# error "required macros not defined"
+#endif
+
+namespace boost_no_cxx11_hdr_atomic {
+
+int test()
+{
+ std::memory_order m = static_cast(std::memory_order_relaxed | std::memory_order_consume | std::memory_order_acquire | std::memory_order_release
+ | std::memory_order_acq_rel | std::memory_order_seq_cst);
+
+ std::atomic a1;
+ std::atomic a2;
+ std::atomic a3;
+ a1.is_lock_free();
+ a1.store(1);
+ a1.load();
+ a1.exchange(2);
+ int v;
+ a1.compare_exchange_weak(v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ a1.compare_exchange_strong(v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ a1.fetch_add(2);
+ a1.fetch_sub(3);
+ a1.fetch_and(3);
+ a1.fetch_or(1);
+ a1.fetch_xor(1);
+ a1++;
+ ++a1;
+ a1--;
+ --a1;
+ a1 += 2;
+ a1 -= 2;
+ a1 &= 1;
+ a1 |= 2;
+ a1 ^= 3;
+
+ a3.store(&v);
+ a3.fetch_add(1);
+ a3.fetch_sub(1);
+ ++a3;
+ --a3;
+ a3++;
+ a3--;
+ a3 += 1;
+ a3 -= 1;
+
+ std::atomic_is_lock_free(&a1);
+ // This produces linker errors on Mingw32 for some reason, probably not required anyway for most uses??
+ //std::atomic_init(&a1, 2);
+ std::atomic_store(&a1, 3);
+ std::atomic_store_explicit(&a1, 3, std::memory_order_relaxed);
+ std::atomic_load(&a1);
+ std::atomic_load_explicit(&a1, std::memory_order_relaxed);
+ std::atomic_exchange(&a1, 3);
+ std::atomic_compare_exchange_weak(&a1, &v, 2);
+ std::atomic_compare_exchange_strong(&a1, &v, 2);
+ std::atomic_compare_exchange_weak_explicit(&a1, &v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ std::atomic_compare_exchange_strong_explicit(&a1, &v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+
+ std::atomic_flag f = ATOMIC_FLAG_INIT;
+ f.test_and_set(std::memory_order_relaxed);
+ f.test_and_set();
+ f.clear(std::memory_order_relaxed);
+ f.clear();
+
+ std::atomic_thread_fence(std::memory_order_relaxed);
+ std::atomic_signal_fence(std::memory_order_relaxed);
+
+ return 0;
+}
+
+}
diff --git a/test/config_info.cpp b/test/config_info.cpp
index 8b82e81b..edef9653 100644
--- a/test/config_info.cpp
+++ b/test/config_info.cpp
@@ -1008,6 +1008,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO);
PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
@@ -1106,6 +1107,8 @@ void print_boost_macros()
+
+
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
diff --git a/test/config_test.cpp b/test/config_test.cpp
index bc19400a..b06114f4 100644
--- a/test/config_test.cpp
+++ b/test/config_test.cpp
@@ -1,4 +1,4 @@
-// This file was automatically generated on Sun Apr 28 18:36:49 2013
+// This file was automatically generated on Thu Dec 12 19:09:40 2013
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -122,6 +122,11 @@ namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
#else
namespace boost_no_cxx11_hdr_array = empty_boost;
#endif
+#ifndef BOOST_NO_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+namespace boost_no_cxx11_hdr_atomic = empty_boost;
+#endif
#ifndef BOOST_NO_CXX11_HDR_CHRONO
#include "boost_no_cxx11_hdr_chrono.ipp"
#else
@@ -212,11 +217,6 @@ namespace boost_no_cxx11_hdr_unordered_set = empty_boost;
#else
namespace boost_no_cxx11_inline_namespaces = empty_boost;
#endif
-#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#include "boost_no_cxx11_trailing_result_types.ipp"
-#else
-namespace boost_no_cxx11_trailing_result_types = empty_boost;
-#endif
#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
#include "boost_no_cxx11_numeric_limits.ipp"
#else
@@ -227,6 +227,11 @@ namespace boost_no_cxx11_numeric_limits = empty_boost;
#else
namespace boost_no_cxx11_smart_ptr = empty_boost;
#endif
+#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+#include "boost_no_cxx11_trailing_result_types.ipp"
+#else
+namespace boost_no_cxx11_trailing_result_types = empty_boost;
+#endif
#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS
#include "boost_no_cxx11_user_lit.ipp"
#else
@@ -1266,6 +1271,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
+ if(0 != boost_no_cxx11_hdr_atomic::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ATOMIC at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
if(0 != boost_no_cxx11_hdr_chrono::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
diff --git a/test/no_cxx11_hdr_atomic_fail.cpp b/test/no_cxx11_hdr_atomic_fail.cpp
new file mode 100644
index 00000000..cb6bd124
--- /dev/null
+++ b/test/no_cxx11_hdr_atomic_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Dec 12 19:07:12 2013
+// 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_CXX11_HDR_ATOMIC
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_ATOMIC should not be defined.
+// See file boost_no_cxx11_hdr_atomic.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_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_atomic::test();
+}
+
diff --git a/test/no_cxx11_hdr_atomic_pass.cpp b/test/no_cxx11_hdr_atomic_pass.cpp
new file mode 100644
index 00000000..7258f646
--- /dev/null
+++ b/test/no_cxx11_hdr_atomic_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Dec 12 19:07:12 2013
+// 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_CXX11_HDR_ATOMIC
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_ATOMIC should be defined.
+// See file boost_no_cxx11_hdr_atomic.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_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+namespace boost_no_cxx11_hdr_atomic = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_atomic::test();
+}
+
diff --git a/test/no_decltype_n3276_fail.cpp b/test/no_decltype_n3276_fail.cpp
index 35a6d123..1e86fb6f 100644
--- a/test/no_decltype_n3276_fail.cpp
+++ b/test/no_decltype_n3276_fail.cpp
@@ -32,6 +32,6 @@
int main( int, char *[] )
{
- return boost_no_decltype_n3276::test();
+ return boost_no_cxx11_decltype_n3276::test();
}
diff --git a/test/no_decltype_n3276_pass.cpp b/test/no_decltype_n3276_pass.cpp
index b1b8c0a6..0eb3a21f 100644
--- a/test/no_decltype_n3276_pass.cpp
+++ b/test/no_decltype_n3276_pass.cpp
@@ -27,11 +27,11 @@
#ifndef BOOST_NO_CXX11_DECLTYPE_N3276
#include "boost_no_decltype_n3276.ipp"
#else
-namespace boost_no_decltype_n3276 = empty_boost;
+namespace boost_no_cxx11_decltype_n3276 = empty_boost;
#endif
int main( int, char *[] )
{
- return boost_no_decltype_n3276::test();
+ return boost_no_cxx11_decltype_n3276::test();
}
|