diff --git a/.travis.yml b/.travis.yml index f3c6f041..cd5da4e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -42,6 +43,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -51,6 +53,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -60,6 +63,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -69,6 +73,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -78,6 +83,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -87,6 +93,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -96,6 +103,7 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test @@ -105,9 +113,59 @@ matrix: apt: packages: - g++-6 + - libgmp-dev sources: - ubuntu-toolchain-r-test + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03 TEST_SUITE=conversions + addons: + apt: + packages: + - g++-6 + - libgmp-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11 TEST_SUITE=conversions + addons: + apt: + packages: + - g++-6 + - libgmp-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14 TEST_SUITE=conversions + addons: + apt: + packages: + - g++-6 + - libgmp-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=gnu++14 TEST_SUITE=conversions + addons: + apt: + packages: + - g++-6 + - libgmp-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z TEST_SUITE=conversions + addons: + apt: + packages: + - g++-6 + - libgmp-dev + sources: + - ubuntu-toolchain-r-test install: - cd .. @@ -125,7 +183,7 @@ script: - |- echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam - (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET && ./config_info_travis) - - (cd libs/multiprecision/test && ../../../b2 toolset=$TOOLSET $TEST_SUITE) + - (cd libs/multiprecision/test && ../../../b2 -j3 toolset=$TOOLSET $TEST_SUITE) notifications: email: diff --git a/config/has_float128.cpp b/config/has_float128.cpp index 38a9fee2..fc69ad41 100644 --- a/config/has_float128.cpp +++ b/config/has_float128.cpp @@ -3,6 +3,12 @@ // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#include + +#ifndef BOOST_HAS_FLOAT128 +#error "This doesn't work unless Boost.Config enables __float128 support" +#endif + extern "C" { #include } diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index a4ddbbcc..8bce20e3 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -677,6 +677,7 @@ run test_convert_from_float128.cpp [ check-target-builds ../config//has_float128 : HAS_FLOAT128 quadmath : ] ; + # # This take too long to run as a regular part of the tests: # @@ -980,6 +981,78 @@ run test_mixed_float.cpp no_eh_support [ check-target-builds ../config//has_gmp : TEST_GMP gmp : ] [ check-target-builds ../config//has_mpfr : TEST_MPFR mpfr gmp : ] ; +alias conversions : + test_gmp_conversions + test_mpfr_conversions + test_constants_mpf50 + test_constants_mpfr_50 + test_constants_cpp_dec_float + test_move_gmp + test_move_mpfr + test_move_tommath + test_move_cpp_int + test_test + test_cpp_int_lit + test_constexpr + test_nothrow_cpp_int + test_nothrow_cpp_rational + test_nothrow_cpp_bin_float + test_nothrow_cpp_dec_float + test_nothrow_float128 + test_nothrow_gmp + test_nothrow_mpfr + test_convert_from_cpp_int + test_convert_from_mpz_int + test_convert_from_tom_int + test_convert_from_cpp_rational + test_convert_from_gmp_rational + test_convert_from_tom_rational + test_convert_from_cpp_bin_float + test_convert_from_cpp_dec_float + test_convert_from_mpf_float + test_convert_from_mpfr_float + test_convert_from_mpfi_float + test_convert_from_float128 +test_cpp_bin_float_io_1 +test_cpp_bin_float_io_2 +test_cpp_bin_float +test_float_io_cpp_dec_float +test_float_io_mpf +test_float_io_mpfr +test_float_io_mpfi +test_float_io_float128 +test_float_io_intel_quad +test_int_io_tommath +test_int_io_mpz +test_int_io_cpp_int +test_cpp_int_left_shift +test_cpp_int_1 +test_cpp_int_2 +test_cpp_int_3 +test_cpp_int_4 +test_cpp_int_5 +test_checked_cpp_int +test_unchecked_cpp_int +test_miller_rabin +test_rational_io_tommath +test_rational_io_mpz +test_rational_io_cpp_int +test_generic_conv +test_rat_float_interconv_1 +test_rat_float_interconv_2 +test_rat_float_interconv_3 +test_rat_float_interconv_4 +test_rat_float_interconv_5 +test_rat_float_interconv_6 +test_rat_float_interconv_7 +test_rat_float_interconv_8 +test_cpp_int_conv +test_cpp_int_import_export +test_native_integer +test_mixed_cpp_int +test_mixed_float +; + compile include_test/mpfr_include_test.cpp : # requirements