mirror of
https://github.com/boostorg/config.git
synced 2025-07-30 04:17:16 +02:00
Merge branch 'develop'
This commit is contained in:
@ -421,7 +421,7 @@ namespace test = boost_no_cxx14_constexpr;
|
||||
# include "../test/boost_no_cxx14_decltype_auto.ipp"
|
||||
namespace test = boost_no_cxx14_decltype_auto;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
#ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# include "../test/boost_no_cxx14_digit_separator.ipp"
|
||||
namespace test = boost_no_cxx14_digit_separator;
|
||||
#endif
|
||||
|
@ -3545,7 +3545,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_DIGIT_SEPARATOR</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_DIGIT_SEPARATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
@ -3571,7 +3571,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURE</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
|
@ -988,7 +988,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: October 12, 2014 at 16:00:14 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: October 21, 2014 at 11:37:59 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -892,9 +892,9 @@ Foo foo = { 0 };
|
||||
[[`BOOST_NO_CXX14_BINARY_LITERALS`][The compiler does not binary literals (e.g. `0b1010`).]]
|
||||
[[`BOOST_NO_CXX14_CONSTEXPR`][The compiler does not support relaxed `constexpr`.]]
|
||||
[[`BOOST_NO_CXX14_DECLTYPE_AUTO`][The compiler does not support `decltype(auto)`.]]
|
||||
[[`BOOST_NO_CXX14_DIGIT_SEPARATOR`][The compiler does not support digit separators (e.g. `1'000'000`).]]
|
||||
[[`BOOST_NO_CXX14_DIGIT_SEPARATORS`][The compiler does not support digit separators (e.g. `1'000'000`).]]
|
||||
[[`BOOST_NO_CXX14_GENERIC_LAMBDAS`][The compiler does not support generic lambda (e.g. `[](auto v){ }`).]]
|
||||
[[`BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURE`][The compiler does not support initialized lambda capture (e.g. `[foo = 42]{ }`).]]
|
||||
[[`BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES`][The compiler does not support initialized lambda capture (e.g. `[foo = 42]{ }`).]]
|
||||
[[`BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION`][The compiler does not support return type deduction for normal functions (e.g. `auto f() { return val; }`).]]
|
||||
[[`BOOST_NO_CXX14_VARIABLE_TEMPLATES`][The compiler does not support variable template (e.g. `template <class T> T kibi = T(1024);`).]]
|
||||
]
|
||||
|
@ -211,7 +211,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -225,7 +225,22 @@
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
|
||||
#if !(__has_feature(cxx_relaxed_constexpr) || __has_extension(cxx_relaxed_constexpr))
|
||||
// clang < 3.5 has a defect with dependent type, like following.
|
||||
//
|
||||
// template <class T>
|
||||
// constexpr typename enable_if<pred<T> >::type foo(T &)
|
||||
// { } // error: no return statement in constexpr function
|
||||
//
|
||||
// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
|
||||
// Therefore we don't care such case.
|
||||
//
|
||||
// Note that we can't check Clang version directly as the numbering system changes depending who's
|
||||
// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
|
||||
// so instead verify that we have a feature that was introduced at the same time as working C++14
|
||||
// constexpr (generic lambda's in this case):
|
||||
//
|
||||
#if !__has_feature(cxx_generic_lambdas) \
|
||||
|| !(__has_feature(cxx_relaxed_constexpr) || __has_extension(cxx_relaxed_constexpr))
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
@ -237,8 +252,9 @@
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if ((__clang_major__ < 3) || (__clang_major__ == 3 && __clang_minor__ < 4)) || (__cplusplus < 201400)
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
#if __cplusplus < 201400
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -137,7 +137,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -121,7 +121,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -97,7 +97,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -241,7 +241,7 @@
|
||||
#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11))
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
|
@ -75,7 +75,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -140,7 +140,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -89,7 +89,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -97,7 +97,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -135,7 +135,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -148,7 +148,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -146,7 +146,7 @@
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
|
@ -182,6 +182,9 @@
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
|
||||
// C++11 features not supported by any versions
|
||||
@ -202,21 +205,12 @@
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
@ -296,8 +290,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 19.00.21901.1 (VC14 CTP3):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022013)
|
||||
// last known and checked version is 19.00.22129 (VC14 CTP4):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022129)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
@ -72,7 +72,9 @@
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/posix_features.hpp>
|
||||
#ifdef __USE_GNU
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#endif
|
||||
|
||||
#ifndef __GNUC__
|
||||
//
|
||||
|
@ -51,22 +51,23 @@ int test()
|
||||
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::is_default_constructible;
|
||||
using std::is_copy_constructible;
|
||||
using std::is_copy_assignable;
|
||||
using std::is_move_constructible;
|
||||
using std::is_move_assignable;
|
||||
using std::is_destructible;
|
||||
using std::is_trivially_default_constructible;
|
||||
using std::is_trivially_copy_constructible;
|
||||
using std::is_trivially_move_constructible;
|
||||
using std::is_trivially_copy_assignable;
|
||||
using std::is_trivially_move_assignable;
|
||||
using std::is_trivially_destructible;
|
||||
using std::is_nothrow_default_constructible;
|
||||
using std::is_nothrow_copy_constructible;
|
||||
using std::is_nothrow_move_constructible;
|
||||
using std::is_nothrow_copy_assignable;
|
||||
using std::is_nothrow_move_assignable;
|
||||
using std::has_virtual_destructor;
|
||||
using std::is_signed;
|
||||
using std::is_unsigned;
|
||||
|
@ -14,7 +14,15 @@
|
||||
namespace boost_no_cxx14_constexpr
|
||||
{
|
||||
|
||||
constexpr void decrement(int &value)
|
||||
namespace detail
|
||||
{
|
||||
template <class> struct void_ { typedef void type; };
|
||||
}
|
||||
|
||||
// Test relaxed constexpr with dependent type; for more details, see comment of
|
||||
// BOOST_CXX14_CONSTEXPR definition in boost/config/compiler/clang.hpp .
|
||||
template <class T>
|
||||
constexpr typename detail::void_<T>::type decrement(T &value)
|
||||
{
|
||||
--value;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
// See http://www.boost.org/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
// MACRO: BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
// TITLE: C++14 digit separator unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 digit separator
|
||||
|
||||
|
@ -1059,7 +1059,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATOR);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
|
||||
|
@ -277,7 +277,7 @@ namespace boost_no_cxx14_constexpr = empty_boost;
|
||||
#else
|
||||
namespace boost_no_cxx14_decltype_auto = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#include "boost_no_cxx14_digit_separator.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_digit_separator = empty_boost;
|
||||
@ -1503,7 +1503,7 @@ int main( int, char *[] )
|
||||
}
|
||||
if(0 != boost_no_cxx14_digit_separator::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx14_generic_lambdas::test())
|
||||
|
@ -10,9 +10,9 @@
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX14_DIGIT_SEPARATOR should not be defined.
|
||||
// BOOST_NO_CXX14_DIGIT_SEPARATORS should not be defined.
|
||||
// See file boost_no_cxx14_digit_separator.ipp for details
|
||||
|
||||
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||
@ -24,7 +24,7 @@
|
||||
#include <boost/config.hpp>
|
||||
#include "test.hpp"
|
||||
|
||||
#ifdef BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
#ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#include "boost_no_cxx14_digit_separator.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
|
@ -10,9 +10,9 @@
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX14_DIGIT_SEPARATOR should be defined.
|
||||
// BOOST_NO_CXX14_DIGIT_SEPARATORS should be defined.
|
||||
// See file boost_no_cxx14_digit_separator.ipp for details
|
||||
|
||||
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||
@ -24,7 +24,7 @@
|
||||
#include <boost/config.hpp>
|
||||
#include "test.hpp"
|
||||
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATOR
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#include "boost_no_cxx14_digit_separator.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_digit_separator = empty_boost;
|
||||
|
Reference in New Issue
Block a user