@@ -34,6 +34,7 @@ matrix:
3434 env :
3535 - INSTALL_GCC6_FROM_PPA=1
3636 - COMPILER=g++-6 C_COMPILER=gcc-6 BUILD_TYPE=Debug
37+ - ENABLE_SANITIZER=1
3738 - EXTRA_FLAGS="-fno-omit-frame-pointer -g -O2 -fsanitize=undefined,address -fuse-ld=gold"
3839 - compiler : clang
3940 env : COMPILER=clang++ C_COMPILER=clang BUILD_TYPE=Debug
@@ -91,6 +92,7 @@ matrix:
9192 env :
9293 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug
9394 - LIBCXX_BUILD=1 LIBCXX_SANITIZER="Undefined;Address"
95+ - ENABLE_SANITIZER=1
9496 - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanitize=undefined,address -fno-sanitize-recover=all"
9597 - UBSAN_OPTIONS=print_stacktrace=1
9698 # Clang w/ libc++ and MSAN
@@ -102,6 +104,7 @@ matrix:
102104 env :
103105 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=Debug
104106 - LIBCXX_BUILD=1 LIBCXX_SANITIZER=MemoryWithOrigins
107+ - ENABLE_SANITIZER=1
105108 - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanitize=memory -fsanitize-memory-track-origins"
106109 # Clang w/ libc++ and MSAN
107110 - compiler : clang
@@ -112,8 +115,8 @@ matrix:
112115 env :
113116 - COMPILER=clang++-3.8 C_COMPILER=clang-3.8 BUILD_TYPE=RelWithDebInfo
114117 - LIBCXX_BUILD=1 LIBCXX_SANITIZER=Thread
118+ - ENABLE_SANITIZER=1
115119 - EXTRA_FLAGS="-stdlib=libc++ -g -O2 -fno-omit-frame-pointer -fsanitize=thread -fno-sanitize-recover=all"
116-
117120 - os : osx
118121 osx_image : xcode8.3
119122 compiler : clang
@@ -131,23 +134,32 @@ matrix:
131134 - COMPILER=g++-7 C_COMPILER=gcc-7 BUILD_TYPE=Debug
132135
133136before_script :
134- - if [ -z "$BUILD_32_BITS" ]; then
135- export BUILD_32_BITS=OFF && echo disabling 32 bit build;
136- fi
137137 - if [ -n "${LIBCXX_BUILD}" ]; then
138138 source .travis-libcxx-setup.sh;
139139 fi
140+ - if [ -n "${ENABLE_SANITIZER}" ]; then
141+ export EXTRA_OPTIONS="-DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF";
142+ else
143+ export EXTRA_OPTIONS="";
144+ fi
140145 - mkdir -p build && cd build
141146
142147before_install :
148+ - if [ -z "$BUILD_32_BITS" ]; then
149+ export BUILD_32_BITS=OFF && echo disabling 32 bit build;
150+ fi
143151 - if [ -n "${INSTALL_GCC6_FROM_PPA}" ]; then
144152 sudo add-apt-repository -y "ppa:ubuntu-toolchain-r/test";
145153 sudo apt-get update --option Acquire::Retries=100 --option Acquire::http::Timeout="60";
146154 fi
147155
148156install :
149157 - if [ -n "${INSTALL_GCC6_FROM_PPA}" ]; then
150- sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install g++-6;
158+ sudo -E apt-get -yq --no-install-suggests --no-install-recommends install g++-6;
159+ fi
160+ - if [ "${TRAVIS_OS_NAME}" == "linux" -a "${BUILD_32_BITS}" == "OFF" ]; then
161+ sudo -E apt-get -y --no-install-suggests --no-install-recommends install llvm-3.9-tools;
162+ sudo cp /usr/lib/llvm-3.9/bin/FileCheck /usr/local/bin/;
151163 fi
152164 - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
153165 PATH=~/.local/bin:${PATH};
@@ -161,7 +173,7 @@ install:
161173 fi
162174
163175script :
164- - cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS}" -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_BUILD_32_BITS=${BUILD_32_BITS} ..
176+ - cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS}" -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON -DBENCHMARK_BUILD_32_BITS=${BUILD_32_BITS} ${EXTRA_OPTIONS} ..
165177 - make
166178 - ctest -C ${BUILD_TYPE} --output-on-failure
167179
0 commit comments