diff --git a/.travis.yml b/.travis.yml index a998f32..d3b3e4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -298,7 +298,7 @@ matrix: key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" - os: linux - dist: bionic + dist: xenial compiler: clang-9 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD64=03,11,14,17 CXXSTD32=03,11 addons: @@ -309,13 +309,14 @@ matrix: - linux-libc-dev:i386 sources: - sourceline: "ppa:ubuntu-toolchain-r/test" - - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main" + - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" +# Note: clang for 32-bit targets with UBSAN emits undefined references to __mulodi4 - os: linux - dist: bionic + dist: xenial compiler: clang-UBSAN - env: UBSAN=1 TOOLSET=clang COMPILER=clang++-9 CXXSTD64=03,11,14,17 CXXSTD32=03,11 UBSAN_OPTIONS=print_stacktrace=1 + env: UBSAN=1 TOOLSET=clang COMPILER=clang++-9 CXXSTD64=03,11,14,17 UBSAN_OPTIONS=print_stacktrace=1 addons: apt: packages: @@ -324,7 +325,7 @@ matrix: - linux-libc-dev:i386 sources: - sourceline: "ppa:ubuntu-toolchain-r/test" - - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main" + - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" # clang, OS X, 64-bit @@ -376,8 +377,8 @@ script: - |- echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null` - - if [ -n "$CXXSTD64" ]; then echo ""; echo "Testing 64-bit targets"; echo ""; ./b2 -j $BUILD_JOBS libs/atomic/test toolset=$TOOLSET address-model=64 cxxstd=$CXXSTD64 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}; fi - - if [ -n "$CXXSTD32" ]; then echo ""; echo "Testing 32-bit targets"; echo ""; ./b2 -j $BUILD_JOBS libs/atomic/test toolset=$TOOLSET address-model=32 cxxstd=$CXXSTD32 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}; fi + - if [ -n "$CXXSTD64" ]; then echo ""; echo "Testing 64-bit targets"; echo ""; ./b2 -j $BUILD_JOBS libs/atomic/test toolset=$TOOLSET address-model=64 cxxstd=$CXXSTD64 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LINKFLAGS:+linkflags="$LINKFLAGS"}; fi + - if [ -n "$CXXSTD32" ]; then echo ""; echo "Testing 32-bit targets"; echo ""; ./b2 -j $BUILD_JOBS libs/atomic/test toolset=$TOOLSET address-model=32 cxxstd=$CXXSTD32 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LINKFLAGS:+linkflags="$LINKFLAGS"}; fi notifications: email: