forked from boostorg/config
Fix typo in macro name - should be BOOST_NO_ATOMIC_SMART_PTR.
Add BOOST_NO_CXX11_HRD_ATOMIC. Regenerate docs. See https://svn.boost.org/trac/boost/ticket/8929.
This commit is contained in:
@ -2404,7 +2404,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ATOMIC_SP</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ATOMIC_SMART_PTR</span></code>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -2415,6 +2415,18 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ATOMIC</span></code>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
The standard library does not provide header <atomic>.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ARRAY</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ARRAY</span></code>
|
||||||
|
@ -951,7 +951,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: September 08, 2013 at 08:51:17 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: December 12, 2013 at 19:29:48 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -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_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 <memory>.]]
|
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
|
||||||
[[`BOOST_NO_CXX11_ATOMIC_SP`][The standard library <memory> does not support atomic smart pointer operations.]]
|
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
|
||||||
|
[[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header <atomic>.]]
|
||||||
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]]
|
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]]
|
||||||
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
|
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
|
||||||
[[`BOOST_NO_CXX11_HDR_CODECVT`][The standard library does not provide header <codecvt>.]]
|
[[`BOOST_NO_CXX11_HDR_CODECVT`][The standard library does not provide header <codecvt>.]]
|
||||||
|
@ -135,6 +135,10 @@
|
|||||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Not present in any version:
|
||||||
|
//
|
||||||
|
#define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#ifdef _CPPLIB_VER
|
#ifdef _CPPLIB_VER
|
||||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||||
#else
|
#else
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
//
|
//
|
||||||
// Intrinsic type_traits support.
|
// Intrinsic type_traits support.
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||||
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
// libc++ uses a non-standard messages_base
|
// libc++ uses a non-standard messages_base
|
||||||
#define BOOST_NO_STD_MESSAGES
|
#define BOOST_NO_STD_MESSAGES
|
||||||
|
@ -155,6 +155,7 @@
|
|||||||
// so 4.7.0 is the first truely conforming one.
|
// so 4.7.0 is the first truely conforming one.
|
||||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||||
# define BOOST_NO_CXX11_ALLOCATOR
|
# define BOOST_NO_CXX11_ALLOCATOR
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
#endif
|
#endif
|
||||||
// C++0x headers not yet (fully!) implemented
|
// C++0x headers not yet (fully!) implemented
|
||||||
//
|
//
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#define BOOST_STDLIB "Modena C++ standard library"
|
#define BOOST_STDLIB "Modena C++ standard library"
|
||||||
|
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||||
|
|
||||||
|
@ -183,4 +183,5 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
|
@ -141,6 +141,7 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#define BOOST_STDLIB "SGI standard library"
|
#define BOOST_STDLIB "SGI standard library"
|
||||||
|
|
||||||
|
@ -231,6 +231,7 @@ namespace boost { using std::min; using std::max; }
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_SMART_PTR
|
# define BOOST_NO_CXX11_SMART_PTR
|
||||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||||
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
|
||||||
#define BOOST_STDLIB "Visual Age default standard library"
|
#define BOOST_STDLIB "Visual Age default standard library"
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Regression test Jamfile for boost configuration setup.
|
# Regression test Jamfile for boost configuration setup.
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** 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
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@ -226,9 +226,6 @@ test-suite "BOOST_NO_CWCHAR" :
|
|||||||
test-suite "BOOST_NO_CWCTYPE" :
|
test-suite "BOOST_NO_CWCTYPE" :
|
||||||
[ run ../no_cwctype_pass.cpp ]
|
[ run ../no_cwctype_pass.cpp ]
|
||||||
[ compile-fail ../no_cwctype_fail.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" :
|
test-suite "BOOST_NO_CXX11_ALIGNAS" :
|
||||||
[ run ../no_cxx11_alignas_pass.cpp ]
|
[ run ../no_cxx11_alignas_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_alignas_fail.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" :
|
test-suite "BOOST_NO_CXX11_HDR_ARRAY" :
|
||||||
[ run ../no_cxx11_hdr_array_pass.cpp ]
|
[ run ../no_cxx11_hdr_array_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_hdr_array_fail.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" :
|
test-suite "BOOST_NO_CXX11_HDR_CHRONO" :
|
||||||
[ run ../no_cxx11_hdr_chrono_pass.cpp ]
|
[ run ../no_cxx11_hdr_chrono_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_hdr_chrono_fail.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" :
|
test-suite "BOOST_NO_CXX11_HDR_UNORDERED_SET" :
|
||||||
[ run ../no_cxx11_hdr_unordered_set_pass.cpp ]
|
[ run ../no_cxx11_hdr_unordered_set_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_hdr_unordered_set_fail.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 ]
|
[ run ../no_cxx11_inline_namespaces_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_inline_namespaces_fail.cpp ] ;
|
[ compile-fail ../no_cxx11_inline_namespaces_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
|
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" :
|
test-suite "BOOST_NO_CXX11_SMART_PTR" :
|
||||||
[ run ../no_cxx11_smart_ptr_pass.cpp ]
|
[ run ../no_cxx11_smart_ptr_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_smart_ptr_fail.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 ]
|
[ run ../no_cxx11_trailing_result_types_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;
|
[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_CXX11_USER_DEFINED_LITERALS" :
|
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" :
|
test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
|
||||||
[ run ../no_range_based_for_pass.cpp ]
|
[ run ../no_range_based_for_pass.cpp ]
|
||||||
[ compile-fail ../no_range_based_for_fail.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" :
|
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
|
||||||
[ run ../no_ret_det_pass.cpp ]
|
[ run ../no_ret_det_pass.cpp ]
|
||||||
[ compile-fail ../no_ret_det_fail.cpp ] ;
|
[ compile-fail ../no_ret_det_fail.cpp ] ;
|
||||||
|
89
test/boost_no_cxx11_hdr_atomic.ipp
Normal file
89
test/boost_no_cxx11_hdr_atomic.ipp
Normal file
@ -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 <atomic> header is either not present or too broken to be used
|
||||||
|
// DESCRIPTION: The compiler does not support the C++11 header <atomic>
|
||||||
|
|
||||||
|
#include <atomic>
|
||||||
|
|
||||||
|
#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>(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<int> a1;
|
||||||
|
std::atomic<unsigned> a2;
|
||||||
|
std::atomic<void*> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1008,6 +1008,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
|
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
|
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
|
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_CHRONO);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
|
PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
|
PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
|
||||||
@ -1106,6 +1107,8 @@ void print_boost_macros()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
@ -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
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@ -122,6 +122,11 @@ namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx11_hdr_array = empty_boost;
|
namespace boost_no_cxx11_hdr_array = empty_boost;
|
||||||
#endif
|
#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
|
#ifndef BOOST_NO_CXX11_HDR_CHRONO
|
||||||
#include "boost_no_cxx11_hdr_chrono.ipp"
|
#include "boost_no_cxx11_hdr_chrono.ipp"
|
||||||
#else
|
#else
|
||||||
@ -212,11 +217,6 @@ namespace boost_no_cxx11_hdr_unordered_set = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx11_inline_namespaces = empty_boost;
|
namespace boost_no_cxx11_inline_namespaces = empty_boost;
|
||||||
#endif
|
#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
|
#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||||
#include "boost_no_cxx11_numeric_limits.ipp"
|
#include "boost_no_cxx11_numeric_limits.ipp"
|
||||||
#else
|
#else
|
||||||
@ -227,6 +227,11 @@ namespace boost_no_cxx11_numeric_limits = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx11_smart_ptr = empty_boost;
|
namespace boost_no_cxx11_smart_ptr = empty_boost;
|
||||||
#endif
|
#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
|
#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||||
#include "boost_no_cxx11_user_lit.ipp"
|
#include "boost_no_cxx11_user_lit.ipp"
|
||||||
#else
|
#else
|
||||||
@ -1266,6 +1271,11 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++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())
|
if(0 != boost_no_cxx11_hdr_chrono::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
37
test/no_cxx11_hdr_atomic_fail.cpp
Normal file
37
test/no_cxx11_hdr_atomic_fail.cpp
Normal file
@ -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_ATOMIC_SMART_PTR
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_NO_CXX11_ATOMIC_SMART_PTR 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 <boost/config.hpp>
|
||||||
|
#include "test.hpp"
|
||||||
|
|
||||||
|
#ifdef BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
|
#include "boost_no_cxx11_hdr_atomic.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_atomic_smart_ptr::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_cxx11_hdr_atomic_pass.cpp
Normal file
37
test/no_cxx11_hdr_atomic_pass.cpp
Normal file
@ -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_ATOMIC_SMART_PTR
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_NO_CXX11_ATOMIC_SMART_PTR 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 <boost/config.hpp>
|
||||||
|
#include "test.hpp"
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||||
|
#include "boost_no_cxx11_hdr_atomic.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_atomic_smart_ptr::test();
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user