diff --git a/.drone.star b/.drone.star index 092a512376..bdf0a4a2ff 100644 --- a/.drone.star +++ b/.drone.star @@ -22,6 +22,7 @@ def main(ctx): clang_6_stds = [ "c++14", "c++17" ] gnu_9_stds = [ "gnu++14", "c++14", "gnu++17", "c++17", "gnu++2a", "c++2a" ] clang_10_stds = [ "c++14", "c++17", "c++2a" ] + gnu_non_native = [ "gnu++17" ] result = [] @@ -52,8 +53,10 @@ def main(ctx): result.append(linux_cxx("Ubuntu g++-11 " + cxx + " " + suite, "g++-11", packages="g++-11", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-11', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) for cxx in clang_10_stds: result.append(linux_cxx("Ubuntu clang++-10 " + cxx + " " + suite, "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) - for cxx in gnu_9_stds: + for cxx in gnu_non_native: result.append(linux_cxx("Ubuntu g++ s390s " + cxx + " " + suite, "g++", packages="g++", buildtype="boost", image="cppalliance/droneubuntu2204:multiarch", arch="s390x", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) + for cxx in gnu_non_native: + result.append(linux_cxx("Ubuntu g++ ARM64" + cxx + " " + suite, "g++", packages="g++", buildtype="boost", image="cppalliance/droneubuntu2204:multiarch", arch="arm64", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) return result diff --git a/include/boost/math/tools/cxx03_warn.hpp b/include/boost/math/tools/cxx03_warn.hpp index 7aafea7553..a4d56c6920 100644 --- a/include/boost/math/tools/cxx03_warn.hpp +++ b/include/boost/math/tools/cxx03_warn.hpp @@ -80,6 +80,50 @@ # define BOOST_MATH_SHOW_CXX03_WARNING # define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS" #endif +#if defined(BOOST_NO_CXX14_AGGREGATE_NSDMI) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_AGGREGATE_NSDMI" +#endif +#if defined(BOOST_NO_CXX14_BINARY_LITERALS) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_BINARY_LITERALS" +#endif +#if defined(BOOST_NO_CXX14_CONSTEXPR) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_CONSTEXPR" +#endif +#if defined(BOOST_NO_CXX14_DECLTYPE_AUTO) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_DECLTYPE_AUTO" +#endif +#if defined(BOOST_NO_CXX14_DIGIT_SEPARATORS) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_DIGIT_SEPARATORS" +#endif +#if defined(BOOST_NO_CXX14_STD_EXCHANGE) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_STD_EXCHANGE" +#endif +#if defined(BOOST_NO_CXX14_GENERIC_LAMBDAS) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_GENERIC_LAMBDAS" +#endif +#if defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_HDR_SHARED_MUTEX" +#endif +#if defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES" +#endif +#if defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" +#endif +#if defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) && !defined(BOOST_MATH_SHOW_CXX03_WARNING) +# define BOOST_MATH_SHOW_CXX03_WARNING +# define BOOST_MATH_CXX03_WARN_REASON "BOOST_NO_CXX14_VARIABLE_TEMPLATES" +#endif #ifdef BOOST_MATH_SHOW_CXX03_WARNING // @@ -89,7 +133,9 @@ // // March 2021(mborland): C++03 support has been removed. Replace warning with hard error. // -#error Support for C++03 has been removed. The minimum requirement for this library is fully compliant C++11. +// Jan 2023(mborland): C++11 support has been removed so tests for C++14 compliance have been added +// +#error Support for C++11 has been removed. The minimum requirement for this library is fully compliant C++14. #endif #endif