language: cpp sudo: false dist: trusty cache: apt: true matrix: include: - env: - LABEL="make gcc LLVM-3.9" - LLVM_VERSION=3.9 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-3.9 packages: - libedit-dev - g++-4.8 # From sources above - llvm-3.9-dev - clang-3.9 - env: - LABEL="make gcc LLVM-4.0" - LLVM_VERSION=4.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-4.0 packages: - libedit-dev - g++-4.8 # From sources above - llvm-4.0-dev - clang-4.0 - env: - LABEL="make gcc LLVM-5.0" - LLVM_VERSION=5.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-5.0 packages: - libedit-dev - g++-4.8 # From sources above - llvm-5.0-dev - clang-5.0 - env: - LABEL="make gcc LLVM-6.0" - LLVM_VERSION=6.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" # llvm passes -Werror=date-time which is only supported in gcc-4.9+ - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" addons: apt: sources: - llvm-toolchain-trusty-6.0 - ubuntu-toolchain-r-test packages: - libedit-dev # LLVM-6 needs libstdc++4.9 - g++-4.9 # From sources above - llvm-6.0-dev - clang-6.0 - env: - LABEL="make gcc LLVM-7" - LLVM_VERSION=7 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - ubuntu-toolchain-r-test packages: - libedit-dev - g++-6 # From sources above - llvm-7-dev - clang-7 - env: - LABEL="make gcc LLVM-8" - LLVM_VERSION=8 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - ubuntu-toolchain-r-test packages: - libedit-dev - g++-6 # From sources above - llvm-8-dev - clang-8 - env: - LABEL="cmake gcc LLVM-3.9" - LLVM_VERSION=3.9 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-3.9 packages: - libedit-dev - g++-4.8 # From sources above - llvm-3.9-dev - clang-3.9 - env: - LABEL="cmake gcc LLVM-4.0" - LLVM_VERSION=4.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-4.0 packages: - libedit-dev - g++-4.8 # From sources above - llvm-4.0-dev - clang-4.0 - env: - LABEL="cmake gcc LLVM-5.0" - LLVM_VERSION=5.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" addons: apt: sources: - llvm-toolchain-trusty-5.0 packages: - libedit-dev - g++-4.8 # From sources above - llvm-5.0-dev - clang-5.0 - env: - LABEL="cmake gcc LLVM-6.0" - LLVM_VERSION=6.0 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" # llvm passes -Werror=date-time which is only supported in gcc-4.9+ - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" addons: apt: sources: - llvm-toolchain-trusty-6.0 - ubuntu-toolchain-r-test packages: - libedit-dev # LLVM-6 needs libstdc++4.9 - g++-4.9 # From sources above - llvm-6.0-dev - clang-6.0 - env: - LABEL="cmake gcc LLVM-7" - LLVM_VERSION=7 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - ubuntu-toolchain-r-test packages: - libedit-dev - g++-6 # From sources above - llvm-7-dev - clang-7 - env: - LABEL="cmake gcc LLVM-8" - LLVM_VERSION=8 - CHECK_FILES="barts-r600--.bc cayman-r600--.bc cedar-r600--.bc cypress-r600--.bc tahiti-amdgcn--.bc amdgcn--amdhsa.bc tahiti-amdgcn-mesa-mesa3d.bc nvptx--nvidiacl.bc nvptx64--nvidiacl.bc" - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" addons: apt: sources: - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main' key_url: https://apt.llvm.org/llvm-snapshot.gpg.key - ubuntu-toolchain-r-test packages: - libedit-dev - g++-6 # From sources above - llvm-8-dev - clang-8 before_install: - eval "${MATRIX_EVAL}" - export LLVM_CONFIG="llvm-config-${LLVM_VERSION}" script: - if $(echo $LABEL | grep cmake > /dev/null) ; then mkdir built_libs && cd built_libs && cmake .. -DLLVM_CONFIG=$LLVM_CONFIG && make -j4 && cd .. ; else $PYTHON ./configure.py --with-llvm-config=$LLVM_CONFIG --with-cxx-compiler=$CXX && make -j4; fi - ret=0; for f in $CHECK_FILES; do ./check_external_calls.sh built_libs/$f || ret=1; done; test $ret -eq 0