diff --git a/.travis.yml b/.travis.yml index 48fc3f0..bd99c4f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,6 +27,24 @@ matrix: - env: BOGUS_JOB=true include: + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test + - os: linux env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11 addons: @@ -177,6 +195,9 @@ matrix: - os: osx env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14 + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z + install: - cd .. - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root diff --git a/test/mp_defer.cpp b/test/mp_defer.cpp index 492e32b..75f3128 100644 --- a/test/mp_defer.cpp +++ b/test/mp_defer.cpp @@ -1,5 +1,5 @@ -// Copyright 2015 Peter Dimov. +// Copyright 2015-2017 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // @@ -23,7 +23,7 @@ template struct has_type using type = decltype( f(0) ); - static const auto value = type::value; + static const bool value = type::value; }; using boost::mp11::mp_defer; diff --git a/test/mp_fold.cpp b/test/mp_fold.cpp index 96dd7ba..de4ec9a 100644 --- a/test/mp_fold.cpp +++ b/test/mp_fold.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -21,6 +23,16 @@ struct X4 {}; template struct F {}; +#if BOOST_WORKAROUND( BOOST_GCC, < 40800 ) + +template using mp_plus = std::integral_constant::type, A::value + B::value>; + +#else + +using boost::mp11::mp_plus; + +#endif + int main() { using boost::mp11::mp_list; @@ -57,7 +69,6 @@ int main() using boost::mp11::mp_iota_c; using boost::mp11::mp_reverse; using boost::mp11::mp_size_t; - using boost::mp11::mp_plus; { int const N = 37; diff --git a/test/mp_reverse.cpp b/test/mp_reverse.cpp index e1aebf5..0035808 100644 --- a/test/mp_reverse.cpp +++ b/test/mp_reverse.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -27,6 +29,16 @@ struct X10 {}; struct X11 {}; struct X12 {}; +#if BOOST_WORKAROUND( BOOST_GCC, < 40800 ) + +template using mp_plus = std::integral_constant::type, A::value + B::value>; + +#else + +using boost::mp11::mp_plus; + +#endif + int main() { using boost::mp11::mp_list; @@ -71,7 +83,6 @@ int main() using boost::mp11::mp_iota_c; using boost::mp11::mp_size_t; using boost::mp11::mp_transform; - using boost::mp11::mp_plus; using boost::mp11::mp_fill; { diff --git a/test/mp_reverse_fold.cpp b/test/mp_reverse_fold.cpp index 0556bee..820f64b 100644 --- a/test/mp_reverse_fold.cpp +++ b/test/mp_reverse_fold.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -27,6 +29,16 @@ using boost::mp11::mp_push_front; template using rev_push_back = mp_push_back; template using rev_push_front = mp_push_front; +#if BOOST_WORKAROUND( BOOST_GCC, < 40800 ) + +template using mp_plus = std::integral_constant::type, A::value + B::value>; + +#else + +using boost::mp11::mp_plus; + +#endif + int main() { using boost::mp11::mp_list; @@ -59,7 +71,6 @@ int main() using boost::mp11::mp_iota_c; using boost::mp11::mp_reverse; using boost::mp11::mp_size_t; - using boost::mp11::mp_plus; { int const N = 37;