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:
@ -335,7 +335,7 @@ explicit cxx14_constexpr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14_decltype_auto ;
|
||||
alias cxx14_decltype_auto : cxx14_decltype_auto.output ;
|
||||
explicit cxx14_decltype_auto ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATOR : cxx14_digit_separator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS : cxx14_digit_separators ;
|
||||
alias cxx14_digit_separator : cxx14_digit_separator.output ;
|
||||
explicit cxx14_digit_separator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS : cxx14_generic_lambdas ;
|
||||
|
@ -8,6 +8,8 @@
|
||||
|
||||
#if !defined(__arm__) && !defined(__thumb__) && \
|
||||
!defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
|
||||
!defined(_ARM) && !defined(_M_ARM)
|
||||
!defined(_ARM) && !defined(_M_ARM) && \
|
||||
!defined(__aarch64__)
|
||||
#error "Not ARM"
|
||||
#endif
|
||||
|
||||
|
@ -423,7 +423,7 @@ namespace test = boost_no_cxx14_decltype_auto;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# include "../test/boost_no_cxx14_digit_separator.ipp"
|
||||
namespace test = boost_no_cxx14_digit_separator;
|
||||
namespace test = boost_no_cxx14_digit_separators;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# include "../test/boost_no_cxx14_generic_lambda.ipp"
|
||||
|
@ -2960,6 +2960,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NUMERIC_LIMITS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library <code class="computeroutput"><span class="special"><</span><span class="identifier">limits</span><span class="special">></span></code>
|
||||
header does not support the C++11 version of <code class="computeroutput"><span class="identifier">numeric_limits</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RANGE_BASED_FOR</span></code>
|
||||
|
@ -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 21, 2014 at 11:37:59 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: May 04, 2015 at 13:34:36 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -670,6 +670,9 @@ compilers implementing an early draft of the C++11 standard (in particular, inco
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_NULLPTR`][The compiler does not support `nullptr`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_NUMERIC_LIMITS`][The standard library `<limits>` header does
|
||||
not support the C++11 version of `numeric_limits`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_RANGE_BASED_FOR`][The compiler does not support
|
||||
range-based for statements.
|
||||
]]
|
||||
|
@ -67,7 +67,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
// MSVC (including the latest checked version) has not yet completely
|
||||
// MSVC before version 14 has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
// user-declared constructor", reported in 2009 by Sylvester Hesp:
|
||||
@ -80,7 +80,9 @@
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
#if _MSC_VER < 1900
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#endif
|
||||
|
||||
#ifndef _NATIVE_WCHAR_T_DEFINED
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
@ -172,9 +174,9 @@
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
// C++11 features supported by VC++ 14 (aka 2015) Preview
|
||||
// C++11 features supported by VC++ 14 (aka 2015) CTP 5
|
||||
//
|
||||
#if (_MSC_FULL_VER < 190022310)
|
||||
#if (_MSC_FULL_VER < 190022512)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
@ -188,6 +190,7 @@
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
|
||||
// C++11 features not supported by any versions
|
||||
@ -202,9 +205,6 @@
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
@ -284,8 +284,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 19.00.22129 (VC14 Preview):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022310)
|
||||
// last known and checked version is 19.00.22816 (VC++ 2015 RC):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022816)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
@ -11,7 +11,6 @@
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HASH_NO_EXTENSIONS
|
||||
|
||||
#ifndef BOOST_DISABLE_THREADS
|
||||
# define BOOST_HAS_THREADS
|
||||
@ -26,7 +25,6 @@
|
||||
// thread API's not auto detected:
|
||||
//
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
|
||||
// boilerplate code:
|
||||
|
@ -123,7 +123,7 @@
|
||||
#ifdef __clang__
|
||||
|
||||
#if __has_include(<experimental/any>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 50000
|
||||
# define BOOST_LIBSTDCXX_VERSION 50100
|
||||
#elif __has_include(<shared_mutex>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40900
|
||||
#elif __has_include(<ext/cmath>)
|
||||
@ -213,6 +213,8 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
#endif
|
||||
// C++0x features in GCC 4.9.0 and later
|
||||
//
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
|
||||
// Although <regex> is present and compilable against, the actual implementation is not functional
|
||||
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
|
||||
@ -223,13 +225,15 @@
|
||||
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
|
||||
// C++0x headers not yet (fully!) implemented
|
||||
//
|
||||
// C++0x features in GCC 5.1 and later
|
||||
//
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
#endif
|
||||
|
||||
//
|
||||
// Headers not present on Solaris with the Oracle compiler:
|
||||
|
@ -19,7 +19,7 @@
|
||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||
// BOOST_VERSION / 100000 is the major version
|
||||
|
||||
#define BOOST_VERSION 105800
|
||||
#define BOOST_VERSION 105900
|
||||
|
||||
//
|
||||
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
||||
@ -27,6 +27,6 @@
|
||||
// number, y is the minor version number, and z is the patch level if not 0.
|
||||
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
||||
|
||||
#define BOOST_LIB_VERSION "1_58"
|
||||
#define BOOST_LIB_VERSION "1_59"
|
||||
|
||||
#endif
|
||||
|
@ -19,6 +19,11 @@ import ../checks/config : requires ;
|
||||
|
||||
local is_unix = [ modules.peek : UNIX ] ;
|
||||
|
||||
lib atomic ;
|
||||
|
||||
link config_info.cpp atomic : : has_atomic_lib ;
|
||||
explicit has_atomic_lib ;
|
||||
|
||||
if $(is_unix)
|
||||
{
|
||||
local osname = [ SHELL uname ] ;
|
||||
@ -38,6 +43,7 @@ test-suite config
|
||||
: #input-files
|
||||
: #requirements
|
||||
<threading>multi
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
: config_test_threaded
|
||||
]
|
||||
[ run config_test.cpp
|
||||
@ -48,6 +54,7 @@ test-suite config
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
]
|
||||
[ run config_test.cpp
|
||||
: #args
|
||||
@ -57,6 +64,7 @@ test-suite config
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
: config_test_no_rtti
|
||||
]
|
||||
[ run config_test.cpp
|
||||
@ -67,6 +75,7 @@ test-suite config
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
: config_test_no_except
|
||||
]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
|
||||
|
@ -331,7 +331,7 @@ test-suite "BOOST_NO_CXX14_CONSTEXPR" :
|
||||
test-suite "BOOST_NO_CXX14_DECLTYPE_AUTO" :
|
||||
[ run ../no_cxx14_decltype_auto_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_decltype_auto_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_DIGIT_SEPARATOR" :
|
||||
test-suite "BOOST_NO_CXX14_DIGIT_SEPARATORS" :
|
||||
[ run ../no_cxx14_digit_separator_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_digit_separator_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_GENERIC_LAMBDAS" :
|
||||
|
@ -36,6 +36,32 @@ constexpr const A a = 42;
|
||||
|
||||
X<a> xx; // OK: unique conversion to int
|
||||
|
||||
// virtual function
|
||||
struct B
|
||||
{
|
||||
virtual void vf() {}
|
||||
};
|
||||
struct C : B
|
||||
{
|
||||
constexpr C() {}
|
||||
};
|
||||
|
||||
// aggregate initialization
|
||||
struct D
|
||||
{
|
||||
int val[2];
|
||||
constexpr D() : val() {}
|
||||
};
|
||||
|
||||
// virtual base
|
||||
struct E
|
||||
{
|
||||
};
|
||||
struct F : virtual E
|
||||
{
|
||||
};
|
||||
constexpr F& f(F& out) { return out; }
|
||||
|
||||
int test()
|
||||
{
|
||||
int i = square(5);
|
||||
|
@ -11,7 +11,7 @@
|
||||
// TITLE: C++14 digit separator unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 digit separator
|
||||
|
||||
namespace boost_no_cxx14_digit_separator
|
||||
namespace boost_no_cxx14_digit_separators
|
||||
{
|
||||
|
||||
int test()
|
||||
|
@ -280,7 +280,7 @@ namespace boost_no_cxx14_decltype_auto = empty_boost;
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#include "boost_no_cxx14_digit_separator.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_digit_separator = empty_boost;
|
||||
namespace boost_no_cxx14_digit_separators = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#include "boost_no_cxx14_generic_lambda.ipp"
|
||||
@ -1501,7 +1501,7 @@ int main( int, char *[] )
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx14_digit_separator::test())
|
||||
if(0 != boost_no_cxx14_digit_separators::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
|
@ -32,6 +32,6 @@
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx14_digit_separator::test();
|
||||
return boost_no_cxx14_digit_separators::test();
|
||||
}
|
||||
|
||||
|
@ -27,11 +27,11 @@
|
||||
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#include "boost_no_cxx14_digit_separator.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_digit_separator = empty_boost;
|
||||
namespace boost_no_cxx14_digit_separators = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx14_digit_separator::test();
|
||||
return boost_no_cxx14_digit_separators::test();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user