Merge branch 'develop'

This commit is contained in:
jzmaddock
2015-05-05 13:19:37 +01:00
17 changed files with 81 additions and 26 deletions

View File

@ -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 ;

View File

@ -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

View File

@ -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"

View File

@ -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">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</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>

View File

@ -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>

View File

@ -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.
]]

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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 ]

View File

@ -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" :

View File

@ -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);

View File

@ -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()

View File

@ -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;

View File

@ -32,6 +32,6 @@
int main( int, char *[] )
{
return boost_no_cxx14_digit_separator::test();
return boost_no_cxx14_digit_separators::test();
}

View File

@ -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();
}