From 385aae0030698bbd27ac86e02dc5c64392bb24ea Mon Sep 17 00:00:00 2001 From: "James E. King III" Date: Thu, 17 May 2018 18:27:41 +0000 Subject: [PATCH] Add CI framework - travis with valgrind, cppcheck, ubsan, codecov, covscan (future) - appveyor with MSVC 2010 through 2017, cygwin 32/64, mingw 32/64 - README, LICENSE, etc. --- .gitignore | 1 + .travis.yml | 182 +++++++++++++++++++++++++++++++++++++ Jamfile | 11 +++ LICENSE | 23 +++++ README.md | 34 +++++++ appveyor.yml | 126 +++++++++++++++++++++++++ doc/interval.htm | 11 ++- examples/Jamfile.v2 | 20 ++++ examples/filter.cpp | 1 + examples/findroot_demo.cpp | 1 + test/Jamfile.v2 | 13 ++- 11 files changed, 418 insertions(+), 5 deletions(-) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 Jamfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 appveyor.yml create mode 100644 examples/Jamfile.v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a6f4cc5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/func2d.data diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..598573a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,182 @@ +# Copyright 2016 Peter Dimov +# Copyright 2017, 2018 James E. King III +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +# +# Generic Travis CI build script for boostorg repositories +# +# Instructions for customizing this script for your library: +# +# 1. Customize the compilers and language levels you want in the 'jobs'. +# 2. If you have more than include/, src/, test/, example/, examples/, or +# tools/ directories, modify your Travis CI project and add the environment +# variable DEPINST. For example if your build uses code in "bench/" and +# "fog/" directories, then set DEPINST to the following: +# --include bench --include fog +# 3. If you want to enable Coverity Scan, you need to provide the environment +# variables COVERITY_SCAN_TOKEN and COVERITY_SCAN_NOTIFICATION_EMAIL in +# your github settings. +# 4. Enable pull request builds in your boostorg/ account. +# +# That's it - the scripts will do everything else for you. + +sudo: false +dist: trusty +language: cpp + +env: + global: + # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties + # to use the default for a given environment, comment it out; recommend you build debug and release however.. + # - B2_ADDRESS_MODEL=address-model=64,32 + # - B2_LINK=link=shared,static + # - B2_THREADING=threading=multi,single + - B2_VARIANT=variant=release,debug + +install: + - git clone https://github.com/jeking3/boost-ci.git boost-ci + - cp -pr boost-ci/ci boost-ci/.codecov.yml . + - source ci/travis/install.sh + +addons: + apt: + packages: + - binutils-gold + - gdb + - libc6-dbg + +branches: + only: + - develop + - master + +script: + - cd $BOOST_ROOT/libs/$SELF + - ci/travis/build.sh + +# +# Default toolsets in Ubuntu +# +# trusty xenial bionic +# 14.04 16.04 18.04 +# ------ ------ ------ +# clang 3.4 3.8 6.0 +# gcc 4.8.2 5.3.1 7.3.0 +# + +anchors: + clang-34: &clang-34 { apt: { packages: [ "clang-3.4" ], sources: [ "llvm-toolchain-trusty-3.4" ] } } + clang-38: &clang-38 { apt: { packages: [ "clang-3.8", + "libstdc++-6-dev" ], sources: [ "llvm-toolchain-trusty-3.8", + "ubuntu-toolchain-r-test" ] } } + clang-4: &clang-4 { apt: { packages: [ "clang-4.0", + "libstdc++-6-dev" ], sources: [ "llvm-toolchain-trusty-4.0", + "ubuntu-toolchain-r-test" ] } } + clang-5: &clang-5 { apt: { packages: [ "clang-5.0", + "libstdc++-7-dev" + ], sources: [ "llvm-toolchain-trusty-5.0", + "ubuntu-toolchain-r-test" ] } } + clang-6: &clang-6 { apt: { packages: [ "clang-6.0", + "libc++-dev", + "libstdc++-8-dev", + "valgrind" ], sources: [ "llvm-toolchain-trusty-6.0", + "ubuntu-toolchain-r-test" ] } } + gcc-44: &gcc-44 { apt: { packages: [ "g++-4.4" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-46: &gcc-46 { apt: { packages: [ "g++-4.6" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-48: &gcc-48 { apt: { packages: [ "g++-4.8" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-5: &gcc-5 { apt: { packages: [ "g++-5" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-6: &gcc-6 { apt: { packages: [ "g++-6" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-7: &gcc-7 { apt: { packages: [ "g++-7" ], sources: [ "ubuntu-toolchain-r-test" ] } } + gcc-8: &gcc-8 { apt: { packages: [ "g++-8" ], sources: [ "ubuntu-toolchain-r-test" ] } } + +jobs: + allow_failures: + - env: + # Allow valgrind to fail, it is documented + - COMMENT=valgrind + - TOOLSET=gcc-7 + - CXXSTD=03 + - DEFINES="define=BOOST_NO_STRESS_TEST=1" + - B2_VARIANT=variant=debug + - TESTFLAGS=testing.launcher=valgrind + - VALGRIND_OPTS=--error-exitcode=1 + + include: + # libstdc++ + - { os: "linux", env: [ "TOOLSET=gcc-4.4", "CXXSTD=98,0x" ], addons: *gcc-44 } + - { os: "linux", env: [ "TOOLSET=gcc-4.6", "CXXSTD=03,0x" ], addons: *gcc-46 } + - { os: "linux", env: [ "TOOLSET=gcc-4.8", "CXXSTD=03,11" ], addons: *gcc-48 } + - { os: "linux", env: [ "TOOLSET=gcc-5", "CXXSTD=03,11" ], addons: *gcc-5 } + - { os: "linux", env: [ "TOOLSET=gcc-6", "CXXSTD=03,11,14" ], addons: *gcc-6 } + - { os: "linux", env: [ "TOOLSET=gcc-7", "CXXSTD=03,11,14,17" ], addons: *gcc-7 } + - { os: "linux", env: [ "TOOLSET=gcc-8", "CXXSTD=03,11,14,17,2a" ], addons: *gcc-8 } + # Known: tests fail on clang due to lack of floating rounding support + # - { os: "linux", env: [ "TOOLSET=clang-3.4", "CXXSTD=03,11,14" ], addons: *clang-34 } + # - { os: "linux", env: [ "TOOLSET=clang-3.8", "CXXSTD=03,11,14" ], addons: *clang-38 } + # - { os: "linux", env: [ "TOOLSET=clang-4.0", "CXXSTD=03,11,14" ], addons: *clang-4 } + # - { os: "linux", env: [ "TOOLSET=clang-5.0", "CXXSTD=03,11,14,17" ], addons: *clang-5 } + # - { os: "linux", env: [ "TOOLSET=clang-6.0", "CXXSTD=03,11,14,17,2a" ], addons: *clang-6 } + # libc++ + # the rvm environment on osx is taking over basic commands like "cd" and breaking things + # - { os: "osx" , env: [ "COMMENT=libc++", + # "TOOLSET=clang", "CXXSTD=03,11,14" ] } + + - os: linux + env: + - COMMENT=codecov.io + - TOOLSET=gcc-7 + - DEFINES="define=BOOST_NO_STRESS_TEST=1" + addons: *gcc-7 + script: + - pushd /tmp && git clone https://github.com/linux-test-project/lcov.git && export PATH=/tmp/lcov/bin:$PATH && which lcov && lcov --version && popd + - cd $BOOST_ROOT/libs/$SELF + - ci/travis/codecov.sh + + - os: linux + env: + - COMMENT=cppcheck + script: + - cd $BOOST_ROOT/libs/$SELF + - ci/travis/cppcheck.sh + + - os: linux + env: + - COMMENT=ubsan + - B2_VARIANT=variant=debug + - TOOLSET=gcc-8 + - CXXSTD=03,11,14,17,2a + - DEFINES="define=BOOST_NO_STRESS_TEST=1" + - CXXFLAGS="cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined" + - LINKFLAGS="linkflags=-fsanitize=undefined linkflags=-fno-sanitize-recover=undefined linkflags=-fuse-ld=gold" + - UBSAN_OPTIONS=print_stacktrace=1 + addons: *gcc-8 + + - os: linux + env: + - COMMENT=valgrind + - TOOLSET=gcc-7 + - CXXSTD=03 + - DEFINES="define=BOOST_NO_STRESS_TEST=1" + - B2_VARIANT=variant=debug + - TESTFLAGS=testing.launcher=valgrind + - VALGRIND_OPTS=--error-exitcode=1 + addons: *gcc-7 + + #################### Jobs to run on pushes to master, develop ################### + + # Coverity Scan + - os: linux + if: (env(COVERITY_SCAN_NOTIFICATION_EMAIL) IS present) AND (branch IN (develop, master)) AND (type IN (cron, push)) + env: + - COMMENT="Coverity Scan" + - TOOLSET=gcc-7 + addons: *gcc-7 + script: + - cd $BOOST_ROOT/libs/$SELF + - ci/travis/coverity.sh + +notifications: + email: + false + diff --git a/Jamfile b/Jamfile new file mode 100644 index 0000000..e59673e --- /dev/null +++ b/Jamfile @@ -0,0 +1,11 @@ +# Boost.Interval Library Jamfile +# +# Copyright (c) 2018 James E. King III +# +# 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) + +# please order by name to ease maintenance +build-project examples ; +build-project test ; diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..36b7cd9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1adb0dd --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +Interval, part of the collection of [Boost C++ Libraries](http://github.com/boostorg), is intended to help manipulating mathematical intervals. + +### License + +Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). + +### Properties + +* C++03 +* Header-only + +### Build Status + +Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests | +:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- | +[`master`](https://github.com/boostorg/interval/tree/master) | [![Build Status](https://travis-ci.org/boostorg/interval.svg?branch=master)](https://travis-ci.org/boostorg/interval) | [![Build status](https://ci.appveyor.com/api/projects/status/wx6gsonby36or5m2/branch/master?svg=true)](https://ci.appveyor.com/project/jeking3/interval-o0u28/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-interval) | [![codecov](https://codecov.io/gh/boostorg/interval/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/interval/branch/master) | [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/interval.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/interval.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/interval.html) +[`develop`](https://github.com/boostorg/interval/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/interval.svg?branch=develop)](https://travis-ci.org/boostorg/interval) | [![Build status](https://ci.appveyor.com/api/projects/status/wx6gsonby36or5m2/branch/develop?svg=true)](https://ci.appveyor.com/project/jeking3/interval-o0u28/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/99999/badge.svg)](https://scan.coverity.com/projects/boostorg-interval) | [![codecov](https://codecov.io/gh/boostorg/interval/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/interval/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/interval.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/interval.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/interval.html) + +### Directories + +| Name | Purpose | +| ----------- | ------------------------------ | +| `doc` | documentation | +| `examples` | use case examples | +| `include` | headers | +| `test` | unit tests | + +### More inintervalion + +* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-interval): Be sure to read the documentation first as Boost.Interval has specific requirements. +* [Report bugs](https://github.com/boostorg/interval/issues): Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well. +* [Submit Pull Requests](https://github.com/boostorg/interval/pulls) against the **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). Be sure to include tests proving your changes work properly. +* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[interval]` tag at the beginning of the subject line. + diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..f09c931 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,126 @@ +# Copyright 2016, 2017 Peter Dimov +# Copyright (C) 2017, 2018 James E. King III +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +# +# Generic Appveyor build script for boostorg repositories +# See: https://github.com/jeking3/boost-ci/ +# +# Instructions for customizing this script for your library: +# +# 1. Customize the compilers and language levels you want. +# 2. If you have move than include/, src/, test/, example/, examples/, +# benchmark/ or tools/ directories, set the environment variable DEPINST. +# For example if your build uses code in "bench/" and "fog/" directories: +# - DEPINST: --include bench --include fog +# 3. Enable pull request builds in your boostorg/ account. +# +# That's it - the script will do everything else for you. +# + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - develop + - master + +matrix: + # Adding MAYFAIL to any matrix job allows it to fail but the build stays green: + allow_failures: + - MAYFAIL: true + +environment: + global: + # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties + # to use the default for a given environment, comment it out; recommend you build debug and release however: + # on Windows it is important to exercise all the possibilities, especially shared vs static, however most + # libraries that care about this exercise it in their Jamfiles... + # B2_ADDRESS_MODEL: address-model=64,32 + # B2_LINK: link=shared,static + # B2_THREADING: threading=multi,single + B2_VARIANT: variant=release,debug + + matrix: + - FLAVOR: Visual Studio 2017 C++2a Strict + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + B2_ADDRESS_MODEL: address-model=64 + CXXFLAGS: cxxflags=-permissive- + CXXSTD: latest # 2a + + - FLAVOR: Visual Studio 2017 C++17 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + B2_ADDRESS_MODEL: address-model=64 + CXXSTD: 17 + + - FLAVOR: Visual Studio 2017 C++14 (Default) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + B2_ADDRESS_MODEL: address-model=64,32 + + - FLAVOR: Visual Studio 2015 C++14 (Default) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + TOOLSET: msvc-14.0 + B2_ADDRESS_MODEL: address-model=64,32 + + - FLAVOR: Visual Studio 2010, 2012, 2013 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 + TOOLSET: msvc-10.0,msvc-11.0,msvc-12.0 + + - FLAVOR: cygwin (32-bit) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ADDPATH: C:\cygwin\bin; + B2_ADDRESS_MODEL: address-model=32 + CXXSTD: 03,11 + # https://github.com/boostorg/test/issues/144 + DEFINES: define=_POSIX_C_SOURCE=200112L + THREADING: threadapi=pthread + TOOLSET: gcc + + - FLAVOR: cygwin (64-bit) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ADDPATH: C:\cygwin64\bin; + B2_ADDRESS_MODEL: address-model=64 + CXXSTD: 11,17 + # https://github.com/boostorg/test/issues/144 + DEFINES: define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99 + THREADING: threadapi=pthread + TOOLSET: gcc + + - FLAVOR: mingw32 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARCH: i686 + B2_ADDRESS_MODEL: address-model=32 + CXXSTD: 03,11 + SCRIPT: ci\appveyor\mingw.bat + + - FLAVOR: mingw64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARCH: x86_64 + B2_ADDRESS_MODEL: address-model=64 + CXXSTD: 11,17 + DEFINES: define=__USE_ISOC99 + SCRIPT: ci\appveyor\mingw.bat + +install: + - set SELF=numeric\%APPVEYOR_PROJECT_NAME:-=_% + - git clone https://github.com/jeking3/boost-ci.git C:\boost-ci + - xcopy /s /e /q /i C:\boost-ci\ci .\ci + - ci\appveyor\install.bat + +build: off + +test_script: + - set SELF=numeric\%APPVEYOR_PROJECT_NAME:-=_% + - PATH=%ADDPATH%%PATH% + # The definition of TOOLCXX omits CXXSTD= if it was not defined above + - IF NOT DEFINED CXXSTD (SET TOOLCXX=toolset=%TOOLSET%) ELSE (SET TOOLCXX=toolset=%TOOLSET% cxxstd=%CXXSTD%) + # Echo the complete build command to the build log + - IF NOT DEFINED SCRIPT (ECHO b2 libs/%SELF:\=/% %TOOLCXX% %CXXFLAGS% %DEFINES% %THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3) + # Now go build... + - IF DEFINED SCRIPT (call libs\%SELF%\%SCRIPT%) ELSE (b2 libs/%SELF:\=/% %TOOLCXX% %CXXFLAGS% %DEFINES% %THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3) diff --git a/doc/interval.htm b/doc/interval.htm index e087166..a4c96e2 100644 --- a/doc/interval.htm +++ b/doc/interval.htm @@ -67,7 +67,15 @@
  • x86-like hardware is supported by the library with GCC, Visual C++ ≥ 7.1, Intel compiler (≥ 8 on Windows), CodeWarrior (≥ 9), as long as the traditional x87 floating-point unit is used for - floating-point computations (no -mfpmath=sse2 support).
  • + floating-point computations (no -mfpmath=sse2 support). +
      +
    • clang (though v6) does not have proper + rounding support.
    • +
    • gcc requires -frounding-math to be specified.
    • +
    • msvc requires /fp:strict to be specified, which means + MSVC 10.0 and earlier will not work properly.
    • +
    +
  • Sparc hardware is supported with GCC and Sun compiler.
  • @@ -77,6 +85,7 @@
  • Alpha hardware is supported with GCC, except maybe for the square root. The options -mfp-rounding-mode=d -mieee have to be used.
  • +

    The previous list is not exhaustive. And even if a system does not diff --git a/examples/Jamfile.v2 b/examples/Jamfile.v2 new file mode 100644 index 0000000..b2890b1 --- /dev/null +++ b/examples/Jamfile.v2 @@ -0,0 +1,20 @@ +# Boost.Interval Library example Jamfile +# +# Copyright (c) 2018 James E. King III +# +# Distributed under the Boost Software License, Version 1.0. (See accompany- +# ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +import testing ; + +{ + test-suite interval-examples + : [ compile filter.cpp : yes msvc-10.0:no ] # ambiguous sin() + [ compile findroot_demo.cpp ] + [ compile horner.cpp ] + [ compile io.cpp ] + [ compile newton-raphson.cpp ] + [ compile rational.cpp ] + # [ compile transc.cpp ] requires gmp3, mpfr + ; +} diff --git a/examples/filter.cpp b/examples/filter.cpp index d67b093..a2d8f32 100644 --- a/examples/filter.cpp +++ b/examples/filter.cpp @@ -12,6 +12,7 @@ */ #include +#include #include namespace dummy { diff --git a/examples/findroot_demo.cpp b/examples/findroot_demo.cpp index 9a37ca1..f5330a7 100644 --- a/examples/findroot_demo.cpp +++ b/examples/findroot_demo.cpp @@ -40,6 +40,7 @@ */ #include // must be first for workaround +#include #include #include #include diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index b7afa27..0afd0ed 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -14,6 +14,8 @@ project # Enable dynamic rounding on Tru64 (Alpha CPU). hp_cxx,OSF:"-fprm d" gcc,OSF:-mfp-rounding-mode=d + gcc:-frounding-math + msvc:/fp\:strict ; # bring in rules for testing @@ -26,7 +28,7 @@ import testing ; [ run libs/numeric/interval/test/add.cpp ] [ run libs/numeric/interval/test/det.cpp ] [ run libs/numeric/interval/test/fmod.cpp ] - [ run libs/numeric/interval/test/msvc_x64_flags.cpp ] + [ run libs/numeric/interval/test/msvc_x64_flags.cpp : : : no msvc:yes ] [ run libs/numeric/interval/test/mul.cpp ] [ run libs/numeric/interval/test/overflow.cpp ] [ run libs/numeric/interval/test/pi.cpp ] @@ -42,9 +44,12 @@ import testing ; ../../../test/build//boost_test_exec_monitor/static ] [ run libs/numeric/interval/test/cmp_set.cpp ../../../test/build//boost_test_exec_monitor/static ] - [ run libs/numeric/interval/test/cmp_tribool.cpp - ../../../test/build//boost_test_exec_monitor/static ] + # https://github.com/boostorg/interval/issues/15 + # [ run libs/numeric/interval/test/cmp_tribool.cpp + # ../../../test/build//boost_test_exec_monitor/static ] [ run libs/numeric/interval/test/test_float.cpp - ../../../test/build//boost_test_exec_monitor/static ] + ../../../test/build//boost_test_exec_monitor/static + : : : yes msvc-10.0:no ] + # https://github.com/boostorg/interval/issues/17 ; }