forked from boostorg/config
Merge branch 'develop'
# Fixed Conflicts: # include/boost/config/stdlib/libcpp.hpp
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
checks/architecture/bin
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Fri Oct 14 20:08:50 2016
|
# This file was automatically generated on Mon Dec 12 19:37:08 2016
|
||||||
# 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
|
||||||
@ -130,7 +130,9 @@ run-simple <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX : cxx14_hdr_shared_mutex
|
|||||||
run-simple <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
|
run-simple <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ;
|
run-simple <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ;
|
run-simple <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ;
|
||||||
|
run-simple <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE : cxx14_std_exchange ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ;
|
run-simple <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ;
|
||||||
|
run-simple <define>TEST_BOOST_NO_CXX17_STD_APPLY : cxx17_std_apply ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX17_STD_INVOKE : cxx17_std_invoke ;
|
run-simple <define>TEST_BOOST_NO_CXX17_STD_INVOKE : cxx17_std_invoke ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
|
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
|
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Fri Oct 14 20:08:50 2016
|
// This file was automatically generated on Mon Dec 12 19:37:08 2016
|
||||||
// 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
|
||||||
@ -453,10 +453,18 @@ namespace test = boost_no_cxx14_aggregate_nsdmi;
|
|||||||
# include "../test/boost_no_cxx14_return_type_ded.ipp"
|
# include "../test/boost_no_cxx14_return_type_ded.ipp"
|
||||||
namespace test = boost_no_cxx14_return_type_deduction;
|
namespace test = boost_no_cxx14_return_type_deduction;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef TEST_BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
# include "../test/boost_no_cxx14_std_exchange.ipp"
|
||||||
|
namespace test = boost_no_cxx14_std_exchange;
|
||||||
|
#endif
|
||||||
#ifdef TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
#ifdef TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||||
# include "../test/boost_no_cxx14_var_templ.ipp"
|
# include "../test/boost_no_cxx14_var_templ.ipp"
|
||||||
namespace test = boost_no_cxx14_variable_templates;
|
namespace test = boost_no_cxx14_variable_templates;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef TEST_BOOST_NO_CXX17_STD_APPLY
|
||||||
|
# include "../test/boost_no_cxx17_std_apply.ipp"
|
||||||
|
namespace test = boost_no_cxx17_std_apply;
|
||||||
|
#endif
|
||||||
#ifdef TEST_BOOST_NO_CXX17_STD_INVOKE
|
#ifdef TEST_BOOST_NO_CXX17_STD_INVOKE
|
||||||
# include "../test/boost_no_cxx17_std_invoke.ipp"
|
# include "../test/boost_no_cxx17_std_invoke.ipp"
|
||||||
namespace test = boost_no_cxx17_std_invoke;
|
namespace test = boost_no_cxx17_std_invoke;
|
||||||
|
@ -35,6 +35,10 @@
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
||||||
|
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||||
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#include <boost/config/compiler/gcc.hpp>
|
#include <boost/config/compiler/gcc.hpp>
|
||||||
@ -496,6 +500,11 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Broken in all versions up to 17:
|
||||||
|
#if !defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||||
|
#define BOOST_NO_CXX14_CONSTEXPR
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
||||||
//
|
//
|
||||||
// fenv.h appears not to work with Intel prior to 12.0:
|
// fenv.h appears not to work with Intel prior to 12.0:
|
||||||
|
@ -150,14 +150,20 @@
|
|||||||
#if defined(__has_include)
|
#if defined(__has_include)
|
||||||
#if !__has_include(<shared_mutex>)
|
#if !__has_include(<shared_mutex>)
|
||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#elif __cplusplus < 201402
|
#elif (__cplusplus < 201402) && !defined(_MSC_VER)
|
||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
#endif
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
#endif
|
#endif
|
||||||
|
@ -72,7 +72,11 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -32,10 +32,14 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __cplusplus < 201103
|
#if __cplusplus < 201103
|
||||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
//
|
||||||
|
// These two appear to be somewhat useable in C++03 mode, there may be others...
|
||||||
|
//
|
||||||
|
//# define BOOST_NO_CXX11_HDR_ARRAY
|
||||||
|
//# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||||
|
|
||||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
|
||||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||||
@ -75,10 +79,18 @@
|
|||||||
#define BOOST_NO_STD_MESSAGES
|
#define BOOST_NO_STD_MESSAGES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
#endif
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
#endif
|
#endif
|
||||||
|
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
||||||
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
||||||
|
@ -240,6 +240,9 @@
|
|||||||
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
|
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
|
||||||
# define BOOST_NO_CXX11_HDR_REGEX
|
# define BOOST_NO_CXX11_HDR_REGEX
|
||||||
#endif
|
#endif
|
||||||
|
#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103)
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||||
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
||||||
@ -261,6 +264,9 @@
|
|||||||
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
|
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
#endif
|
#endif
|
||||||
|
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__has_include)
|
#if defined(__has_include)
|
||||||
#if !__has_include(<shared_mutex>)
|
#if !__has_include(<shared_mutex>)
|
||||||
|
@ -61,7 +61,11 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
#define BOOST_STDLIB "Modena C++ standard library"
|
#define BOOST_STDLIB "Modena C++ standard library"
|
||||||
|
@ -85,7 +85,11 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||||
|
@ -197,5 +197,9 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
@ -155,7 +155,11 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
#define BOOST_STDLIB "SGI standard library"
|
#define BOOST_STDLIB "SGI standard library"
|
||||||
|
@ -245,7 +245,11 @@ namespace boost { using std::min; using std::max; }
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||||
|
@ -61,7 +61,11 @@
|
|||||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// C++14 features
|
||||||
|
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
|
||||||
// C++17 features
|
// C++17 features
|
||||||
|
# define BOOST_NO_CXX17_STD_APPLY
|
||||||
# define BOOST_NO_CXX17_STD_INVOKE
|
# define BOOST_NO_CXX17_STD_INVOKE
|
||||||
|
|
||||||
#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 Fri Oct 14 20:08:50 2016
|
# This file was automatically generated on Mon Dec 12 19:37:08 2016
|
||||||
# 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
|
||||||
@ -355,9 +355,15 @@ test-suite "BOOST_NO_CXX14_AGGREGATE_NSDMI" :
|
|||||||
test-suite "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" :
|
test-suite "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" :
|
||||||
[ run ../no_cxx14_return_type_ded_pass.cpp ]
|
[ run ../no_cxx14_return_type_ded_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx14_return_type_ded_fail.cpp ] ;
|
[ compile-fail ../no_cxx14_return_type_ded_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_NO_CXX14_STD_EXCHANGE" :
|
||||||
|
[ run ../no_cxx14_std_exchange_pass.cpp ]
|
||||||
|
[ compile-fail ../no_cxx14_std_exchange_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
|
test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
|
||||||
[ run ../no_cxx14_var_templ_pass.cpp ]
|
[ run ../no_cxx14_var_templ_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
|
[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_NO_CXX17_STD_APPLY" :
|
||||||
|
[ run ../no_cxx17_std_apply_pass.cpp ]
|
||||||
|
[ compile-fail ../no_cxx17_std_apply_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_CXX17_STD_INVOKE" :
|
test-suite "BOOST_NO_CXX17_STD_INVOKE" :
|
||||||
[ run ../no_cxx17_std_invoke_pass.cpp ]
|
[ run ../no_cxx17_std_invoke_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx17_std_invoke_fail.cpp ] ;
|
[ compile-fail ../no_cxx17_std_invoke_fail.cpp ] ;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
// (C) Copyright Kohei Takahashi 2014
|
// (C) Copyright Kohei Takahashi 2014,2016
|
||||||
|
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
// Boost Software License, Version 1.0. (See accompanying file
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
@ -17,6 +17,15 @@ namespace boost_no_cxx14_constexpr
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
template <class> struct void_ { typedef void type; };
|
template <class> struct void_ { typedef void type; };
|
||||||
|
|
||||||
|
struct non_tmpl
|
||||||
|
{
|
||||||
|
constexpr int foo() const { return 1; }
|
||||||
|
constexpr int foo() { return 0; }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
struct tmpl : non_tmpl { };
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test relaxed constexpr with dependent type; for more details, see comment of
|
// Test relaxed constexpr with dependent type; for more details, see comment of
|
||||||
@ -27,6 +36,17 @@ constexpr typename detail::void_<T>::type decrement(T &value)
|
|||||||
--value;
|
--value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr int non_cv_member(detail::non_tmpl x)
|
||||||
|
{
|
||||||
|
return x.foo();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
constexpr int non_cv_member(detail::tmpl<T> x)
|
||||||
|
{
|
||||||
|
return x.foo();
|
||||||
|
}
|
||||||
|
|
||||||
constexpr int zero()
|
constexpr int zero()
|
||||||
{
|
{
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
@ -34,9 +54,18 @@ constexpr int zero()
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <int v> struct compile_time_value
|
||||||
|
{
|
||||||
|
static constexpr int value = v;
|
||||||
|
};
|
||||||
|
|
||||||
int test()
|
int test()
|
||||||
{
|
{
|
||||||
return zero();
|
return compile_time_value<
|
||||||
|
zero()
|
||||||
|
+ non_cv_member(detail::non_tmpl())
|
||||||
|
+ non_cv_member(detail::tmpl<int>())
|
||||||
|
>::value;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
23
test/boost_no_cxx14_std_exchange.ipp
Normal file
23
test/boost_no_cxx14_std_exchange.ipp
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// (C) Copyright Oliver Kowalke 2016.
|
||||||
|
// 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 most recent version.
|
||||||
|
|
||||||
|
// MACRO: BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
// TITLE: apply
|
||||||
|
// DESCRIPTION: The compiler supports the std::exchange() function.
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
namespace boost_no_cxx14_std_exchange {
|
||||||
|
|
||||||
|
int test() {
|
||||||
|
int * i = new int( 1);
|
||||||
|
int * j = std::exchange( i, nullptr);
|
||||||
|
delete j;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
28
test/boost_no_cxx17_std_apply.ipp
Normal file
28
test/boost_no_cxx17_std_apply.ipp
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// (C) Copyright Oliver Kowalke 2016.
|
||||||
|
// 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 most recent version.
|
||||||
|
|
||||||
|
// MACRO: BOOST_NO_CXX17_STD_APPLY
|
||||||
|
// TITLE: apply
|
||||||
|
// DESCRIPTION: The compiler supports the std::apply() function.
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
|
namespace boost_no_cxx17_std_apply {
|
||||||
|
|
||||||
|
int foo( int i, int j) {
|
||||||
|
return i + j;
|
||||||
|
}
|
||||||
|
|
||||||
|
int test() {
|
||||||
|
int i = 1, j = 2;
|
||||||
|
std::apply( foo, std::make_tuple( i, j) );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1073,7 +1073,9 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
|
PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
|
||||||
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
|
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
|
||||||
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
|
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
|
||||||
|
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
|
||||||
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
|
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
|
||||||
|
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
|
||||||
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
|
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
|
||||||
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
|
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
|
||||||
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
|
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
|
||||||
@ -1145,6 +1147,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 Fri Oct 14 20:08:50 2016
|
// This file was automatically generated on Mon Dec 12 19:37:08 2016
|
||||||
// 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
|
||||||
@ -312,11 +312,21 @@ namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx14_return_type_deduction = empty_boost;
|
namespace boost_no_cxx14_return_type_deduction = empty_boost;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
|
||||||
|
#include "boost_no_cxx14_std_exchange.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx14_std_exchange = empty_boost;
|
||||||
|
#endif
|
||||||
#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||||
#include "boost_no_cxx14_var_templ.ipp"
|
#include "boost_no_cxx14_var_templ.ipp"
|
||||||
#else
|
#else
|
||||||
namespace boost_no_cxx14_variable_templates = empty_boost;
|
namespace boost_no_cxx14_variable_templates = empty_boost;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef BOOST_NO_CXX17_STD_APPLY
|
||||||
|
#include "boost_no_cxx17_std_apply.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx17_std_apply = empty_boost;
|
||||||
|
#endif
|
||||||
#ifndef BOOST_NO_CXX17_STD_INVOKE
|
#ifndef BOOST_NO_CXX17_STD_INVOKE
|
||||||
#include "boost_no_cxx17_std_invoke.ipp"
|
#include "boost_no_cxx17_std_invoke.ipp"
|
||||||
#else
|
#else
|
||||||
@ -1561,11 +1571,21 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++error_count;
|
||||||
}
|
}
|
||||||
|
if(0 != boost_no_cxx14_std_exchange::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
if(0 != boost_no_cxx14_variable_templates::test())
|
if(0 != boost_no_cxx14_variable_templates::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++error_count;
|
||||||
}
|
}
|
||||||
|
if(0 != boost_no_cxx17_std_apply::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
if(0 != boost_no_cxx17_std_invoke::test())
|
if(0 != boost_no_cxx17_std_invoke::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
37
test/no_cxx14_std_exchange_fail.cpp
Normal file
37
test/no_cxx14_std_exchange_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||||
|
// 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_CXX17_STD_APPLY
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_NO_CXX17_STD_APPLY should not be defined.
|
||||||
|
// See file boost_no_cxx17_std_apply.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_CXX14_STD_EXCHANGE
|
||||||
|
#include "boost_no_cxx14_std_exchange.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx14_std_exchange::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_cxx14_std_exchange_pass.cpp
Normal file
37
test/no_cxx14_std_exchange_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||||
|
// 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_CXX17_STD_APPLY
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_NO_CXX!/_STD_APPLY should be defined.
|
||||||
|
// See file boost_no_cxx17_std_apply.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_CXX14_STD_EXCHANGE
|
||||||
|
#include "boost_no_cxx14_std_exchange.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx14_std_exchange = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx14_std_exchange::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_cxx17_std_apply_fail.cpp
Normal file
37
test/no_cxx17_std_apply_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||||
|
// 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_CXX17_STD_APPLY
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_NO_CXX17_STD_APPLY should not be defined.
|
||||||
|
// See file boost_no_cxx17_std_apply.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_CXX17_STD_APPLY
|
||||||
|
#include "boost_no_cxx17_std_apply.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx17_std_apply::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_cxx17_std_apply_pass.cpp
Normal file
37
test/no_cxx17_std_apply_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||||
|
// 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_CXX17_STD_APPLY
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_NO_CXX!/_STD_APPLY should be defined.
|
||||||
|
// See file boost_no_cxx17_std_apply.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_CXX17_STD_APPLY
|
||||||
|
#include "boost_no_cxx17_std_apply.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx17_std_apply = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx17_std_apply::test();
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user