mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 10:13:03 +00:00
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.
This commit is contained in:
58
.travis.yml
58
.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
|
language: cpp
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@@ -10,17 +15,19 @@ matrix:
|
|||||||
## ----- ##
|
## ----- ##
|
||||||
## GCC. ##
|
## GCC. ##
|
||||||
## ----- ##
|
## ----- ##
|
||||||
- name: "GCC 8 with sanitizers"
|
#- name: "GCC 8 with sanitizers"
|
||||||
os: linux
|
# os: linux
|
||||||
addons:
|
# addons:
|
||||||
apt:
|
# apt:
|
||||||
sources:
|
# sources:
|
||||||
- ubuntu-toolchain-r-test
|
# - ubuntu-toolchain-r-test
|
||||||
packages:
|
# packages:
|
||||||
- g++-8
|
# - g++-8
|
||||||
env:
|
# env:
|
||||||
- CC='gcc-8 -fsanitize=unknown,address -fno-omit-frame-pointer'
|
# # Can't use UBSAN: I get:
|
||||||
- CXX='g++-8 -fsanitize=unknown,address -fno-omit-frame-pointer'
|
# # 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"
|
- name: "GCC 7 -O3"
|
||||||
os: linux
|
os: linux
|
||||||
@@ -118,8 +125,7 @@ matrix:
|
|||||||
# # For llvm-symbolizer.
|
# # For llvm-symbolizer.
|
||||||
# - llvm-7.0
|
# - llvm-7.0
|
||||||
# env:
|
# env:
|
||||||
# - CC='clang-7.0 -fsanitize=address'
|
# - MATRIX_EVAL="CC='clang-7.0 -fsanitize=address' CXX='clang++-7.0 -fsanitize=address -stdlib=libc++'"
|
||||||
# - CXX='clang++-7.0 -fsanitize=address -stdlib=libc++'
|
|
||||||
# - ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7.0/bin/llvm-symbolizer
|
# - ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7.0/bin/llvm-symbolizer
|
||||||
|
|
||||||
- name: "Clang 6 -O3 and libc++"
|
- name: "Clang 6 -O3 and libc++"
|
||||||
@@ -144,9 +150,9 @@ matrix:
|
|||||||
- llvm-toolchain-trusty-5.0
|
- llvm-toolchain-trusty-5.0
|
||||||
packages:
|
packages:
|
||||||
- clang-5.0
|
- clang-5.0
|
||||||
|
- libc++-dev
|
||||||
env:
|
env:
|
||||||
- CC='clang-5.0 -fsanitize=address'
|
- MATRIX_EVAL="CC='clang-5.0 -fsanitize=address' CXX='clang++-5.0 -fsanitize=address -stdlib=libc++'"
|
||||||
- CXX='clang++-5.0 -fsanitize=address -stdlib=libc++'
|
|
||||||
|
|
||||||
- name: "Clang 4"
|
- name: "Clang 4"
|
||||||
os: linux
|
os: linux
|
||||||
@@ -225,8 +231,9 @@ matrix:
|
|||||||
packages:
|
packages:
|
||||||
- clang-3.4
|
- clang-3.4
|
||||||
env:
|
env:
|
||||||
# No versioned name installed.
|
# No versioned name installed, but beware that Travis installs
|
||||||
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
# a more modern clang earlier in the default PATH.
|
||||||
|
- MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
|
||||||
|
|
||||||
- name: "Clang 3.3"
|
- name: "Clang 3.3"
|
||||||
os: linux
|
os: linux
|
||||||
@@ -235,8 +242,8 @@ matrix:
|
|||||||
packages:
|
packages:
|
||||||
- clang-3.3
|
- clang-3.3
|
||||||
env:
|
env:
|
||||||
# No versioned name installed.
|
# See comment for 3.4.
|
||||||
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
- MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
|
||||||
|
|
||||||
## ----- ##
|
## ----- ##
|
||||||
## ICC. ##
|
## ICC. ##
|
||||||
@@ -247,14 +254,21 @@ matrix:
|
|||||||
# ICC's warnings are often very wrong (e.g., it thinks foo ?
|
# ICC's warnings are often very wrong (e.g., it thinks foo ?
|
||||||
# "bar" : "baz" is char* instead of const char*), so don't try
|
# "bar" : "baz" is char* instead of const char*), so don't try
|
||||||
# to work around the, and obviously, don't die on them.
|
# 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:
|
before_install:
|
||||||
|
- eval "$MATRIX_EVAL"
|
||||||
|
- env
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
- sudo apt-get install -qq autoconf automake autopoint doxygen flex gettext graphviz help2man m4 texinfo
|
- 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
|
- autoconf --version
|
||||||
- automake --version
|
- automake --version
|
||||||
- autopoint --version
|
- autopoint --version
|
||||||
|
- $CC --version
|
||||||
|
- $CXX --version
|
||||||
- doxygen --version
|
- doxygen --version
|
||||||
- flex --version
|
- flex --version
|
||||||
- gettext --version
|
- gettext --version
|
||||||
@@ -262,8 +276,6 @@ before_install:
|
|||||||
- help2man --version
|
- help2man --version
|
||||||
- m4 --version
|
- m4 --version
|
||||||
- makeinfo --version
|
- makeinfo --version
|
||||||
- eval "${MATRIX_EVAL}"
|
|
||||||
- if [ x"$CC" == xicc ]; then build-aux/install-icc.sh; fi
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- git show
|
- git show
|
||||||
@@ -281,4 +293,4 @@ script:
|
|||||||
- make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && exit 1; }
|
- make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && exit 1; }
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
- '[[ ! -z "${INTEL_INSTALL_PATH}" ]] && uninstall_intel_software'
|
- if [[ $CC == "icc" ]]; then uninstall_intel_software; fi
|
||||||
|
|||||||
Reference in New Issue
Block a user