summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-09-23 16:56:34 +0200
committerAkim Demaille <akim.demaille@gmail.com>2018-09-24 21:52:55 +0200
commit6181f05630ca81e8771cfe48782c0c9ce8dce3f9 (patch)
tree1680aeb47110762864fbb8852a9a54c17352a1e0 /.travis.yml
parenta4ba0d21a1c7968da19a977c1a00cc00ba730d9a (diff)
downloadbison-6181f05630ca81e8771cfe48782c0c9ce8dce3f9.tar.gz
CI: really use Clang 3.3 and 3.4, not 5.0
* .travis.yml: Don't define CC/CXX, it does not work. Use `[[...]]` instead of `[...]`. Show the compiler versions. (Clang 3.3, Clang 3.4): Specify the path to avoid using /usr/local/clang-5.0.0/bin's clang.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml58
1 files changed, 35 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml
index 2d7bda89..b3960c42 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,8 @@
+# Travis defines and exports CC and CXX *after* we have defined our
+# environment variables via 'env'. So, do not use 'env' to define
+# them. Instead, put their definitions in MATRIX_EVAL, which we eval
+# after the definitions from Travis.
+
language: cpp
env:
@@ -10,17 +15,19 @@ matrix:
## ----- ##
## GCC. ##
## ----- ##
- - name: "GCC 8 with sanitizers"
- os: linux
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-8
- env:
- - CC='gcc-8 -fsanitize=unknown,address -fno-omit-frame-pointer'
- - CXX='g++-8 -fsanitize=unknown,address -fno-omit-frame-pointer'
+ #- name: "GCC 8 with sanitizers"
+ # os: linux
+ # addons:
+ # apt:
+ # sources:
+ # - ubuntu-toolchain-r-test
+ # packages:
+ # - g++-8
+ # env:
+ # # Can't use UBSAN: I get:
+ # # configure:4951: gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer conftest.c
+ # # /usr/bin/ld: unrecognized option '--push-state'
+ # - MATRIX_EVAL="CC='gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer' CXX='g++-8 -fsanitize=undefined,address -fno-omit-frame-pointer'"
- name: "GCC 7 -O3"
os: linux
@@ -118,8 +125,7 @@ matrix:
# # For llvm-symbolizer.
# - llvm-7.0
# env:
-# - CC='clang-7.0 -fsanitize=address'
-# - CXX='clang++-7.0 -fsanitize=address -stdlib=libc++'
+# - MATRIX_EVAL="CC='clang-7.0 -fsanitize=address' CXX='clang++-7.0 -fsanitize=address -stdlib=libc++'"
# - ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7.0/bin/llvm-symbolizer
- name: "Clang 6 -O3 and libc++"
@@ -144,9 +150,9 @@ matrix:
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0
+ - libc++-dev
env:
- - CC='clang-5.0 -fsanitize=address'
- - CXX='clang++-5.0 -fsanitize=address -stdlib=libc++'
+ - MATRIX_EVAL="CC='clang-5.0 -fsanitize=address' CXX='clang++-5.0 -fsanitize=address -stdlib=libc++'"
- name: "Clang 4"
os: linux
@@ -225,8 +231,9 @@ matrix:
packages:
- clang-3.4
env:
- # No versioned name installed.
- - MATRIX_EVAL="CC=clang && CXX=clang++"
+ # No versioned name installed, but beware that Travis installs
+ # a more modern clang earlier in the default PATH.
+ - MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
- name: "Clang 3.3"
os: linux
@@ -235,8 +242,8 @@ matrix:
packages:
- clang-3.3
env:
- # No versioned name installed.
- - MATRIX_EVAL="CC=clang && CXX=clang++"
+ # See comment for 3.4.
+ - MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
## ----- ##
## ICC. ##
@@ -247,14 +254,21 @@ matrix:
# ICC's warnings are often very wrong (e.g., it thinks foo ?
# "bar" : "baz" is char* instead of const char*), so don't try
# to work around the, and obviously, don't die on them.
- - MATRIX_EVAL="CC=icc && CXX=icpc && MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS='"
+ - MATRIX_EVAL="CC=icc && CXX=icpc"
+ - MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS='
before_install:
+ - eval "$MATRIX_EVAL"
+ - env
- sudo apt-get update -qq
- sudo apt-get install -qq autoconf automake autopoint doxygen flex gettext graphviz help2man m4 texinfo
+ - if [[ $CC == "icc" ]]; then build-aux/install-icc.sh; fi
+ - if [[ -f ~/.bashrc ]]; then source ~/.bashrc; fi
- autoconf --version
- automake --version
- autopoint --version
+ - $CC --version
+ - $CXX --version
- doxygen --version
- flex --version
- gettext --version
@@ -262,8 +276,6 @@ before_install:
- help2man --version
- m4 --version
- makeinfo --version
- - eval "${MATRIX_EVAL}"
- - if [ x"$CC" == xicc ]; then build-aux/install-icc.sh; fi
script:
- git show
@@ -281,4 +293,4 @@ script:
- make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && exit 1; }
after_script:
- - '[[ ! -z "${INTEL_INSTALL_PATH}" ]] && uninstall_intel_software'
+ - if [[ $CC == "icc" ]]; then uninstall_intel_software; fi