|
@@ -32,6 +32,19 @@ matrix:
|
|
|
sources: ubuntu-toolchain-r-test
|
|
|
packages: ninja-build g++-5
|
|
|
env: DXC_BUILD_TYPE=Release
|
|
|
+ # Configuration for AddressSanitizer (https://clang.llvm.org/docs/AddressSanitizer.html)
|
|
|
+ - os: linux
|
|
|
+ compiler: clang
|
|
|
+ env:
|
|
|
+ - DXC_BUILD_TYPE=Debug
|
|
|
+ - BUILD_CONFIG=ASAN
|
|
|
+ # Allow address sanitizer bot to fail for now. TODO(Remove this).
|
|
|
+ allow_failures:
|
|
|
+ - os: linux
|
|
|
+ compiler: clang
|
|
|
+ env:
|
|
|
+ - DXC_BUILD_TYPE=Debug
|
|
|
+ - BUILD_CONFIG=ASAN
|
|
|
|
|
|
cache:
|
|
|
apt: true
|
|
@@ -60,6 +73,7 @@ before_script:
|
|
|
- git submodule update --init
|
|
|
- if [ ${CC} = gcc ]; then CC=gcc-5; CXX=g++-5; CXX_FLAGS=; else CXX_FLAGS=-Werror; fi
|
|
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ulimit -Sn 1024; fi
|
|
|
+ - if [[ ${BUILD_CONFIG} = ASAN ]]; then ADDITIONAL_CMAKE_FLAGS="-DLLVM_USE_SANITIZER=Address -DSPIRV_USE_SANITIZER=address"; fi
|
|
|
|
|
|
script:
|
|
|
- mkdir build && cd build
|
|
@@ -69,6 +83,7 @@ script:
|
|
|
-DCMAKE_BUILD_TYPE=${DXC_BUILD_TYPE}
|
|
|
-DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX}
|
|
|
-DCMAKE_CXX_FLAGS=${CXX_FLAGS}
|
|
|
+ ${ADDITIONAL_CMAKE_FLAGS}
|
|
|
- ninja
|
|
|
- ./bin/dxc --help
|
|
|
- ./bin/dxc -T ps_6_0 ../tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv
|