Update our tooling (Clang 5 -> 7, GCC 7 -> 8)

This change permits to use up-to-date compilers, clang-tidy and
clang-format

It also refactor the tidy/format step to drop the binary selection from
scripts and perform it directly in travis
This commit is contained in:
Loïc Blot 2018-03-23 11:07:19 +01:00 committed by Loïc Blot
parent aafbdd442f
commit a6a04c4b5b
8 changed files with 38 additions and 35 deletions

@ -13,6 +13,7 @@ BraceWrapping:
AfterUnion: true
BeforeCatch: false
BeforeElse: false
FixNamespaceComments: false
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
AccessModifierOffset: -8

@ -10,24 +10,26 @@ matrix:
fast_finish: true
include:
- env: LINT=1
- env: CLANG_FORMAT=clang-format-7
compiler: clang
os: linux
addons:
apt:
packages: ['clang-format-5.0']
packages: ['clang-format-7']
sources: &sources
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- env: CLANG_TIDY=1
- env: CLANG_TIDY=clang-tidy-7
compiler: clang
os: linux
script: ./util/travis/clangtidy.sh
addons:
apt:
packages: ['clang-tidy-5.0']
packages: ['clang-7', 'clang++-7', 'clang-tools-7', 'clang-tidy-7']
sources: &sources
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- env: PLATFORM=Win32
compiler: gcc
@ -63,12 +65,12 @@ matrix:
sources: &sources
- ubuntu-toolchain-r-test
- env: PLATFORM=Unix COMPILER=gcc-7
- env: PLATFORM=Unix COMPILER=gcc-8
compiler: gcc
os: linux
addons:
apt:
packages: ['gcc-7', 'g++-7']
packages: ['gcc-8', 'g++-8']
sources: &sources
- ubuntu-toolchain-r-test
@ -81,29 +83,33 @@ matrix:
sources: &sources
- llvm-toolchain-trusty-3.6
- env: PLATFORM=Unix COMPILER=clang-5.0
- env: PLATFORM=Unix COMPILER=clang-7
compiler: clang
os: linux
addons:
apt:
packages: ['clang-5.0', 'clang++-5.0']
packages: ['clang-7', 'clang++-7']
sources: &sources
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- env: PLATFORM=Unix COMPILER=clang-5.0 FREETYPE=0
- env: PLATFORM=Unix COMPILER=clang-7 FREETYPE=0
compiler: clang
os: linux
addons:
apt:
packages: ['clang-5.0', 'clang++-5.0']
packages: ['clang-7', 'clang++-7']
sources: &sources
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
- env: PLATFORM=Unix COMPILER=clang-5.0 VALGRIND=1
- env: PLATFORM=Unix COMPILER=clang-7 VALGRIND=1
compiler: clang
os: linux
addons:
apt:
packages: ['valgrind', 'clang-5.0', 'clang++-5.0']
packages: ['valgrind', 'clang-7', 'clang++-7']
sources: &sources
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7

@ -2916,13 +2916,13 @@ public:
ret[0] = unicode::BOM;
else if (endian == unicode::EUTFEE_LITTLE)
{
uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(&ret[0]);
uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(ret.c_str());
*ptr8++ = unicode::BOM_ENCODE_UTF16_LE[0];
*ptr8 = unicode::BOM_ENCODE_UTF16_LE[1];
}
else
{
uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(&ret[0]);
uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(ret.c_str());
*ptr8++ = unicode::BOM_ENCODE_UTF16_BE[0];
*ptr8 = unicode::BOM_ENCODE_UTF16_BE[1];
}

@ -4,14 +4,14 @@ echo "Preparing for $TRAVIS_COMMIT_RANGE"
. util/travis/common.sh
if [[ "${LINT}" == "1" ]]; then
if [[ ! -z "${CLANG_FORMAT}" ]]; then
exit 0
fi
needs_compile || exit 0
if [[ $PLATFORM == "Unix" ]] || [[ $CLANG_TIDY == "1" ]]; then
if [[ $TRAVIS_OS_NAME == "linux" ]] || [[ $CLANG_TIDY == "1" ]]; then
if [[ $PLATFORM == "Unix" ]] || [[ ! -z "${CLANG_TIDY}" ]]; then
if [[ $TRAVIS_OS_NAME == "linux" ]] || [[ ! -z "${CLANG_TIDY}" ]]; then
install_linux_deps
else
install_macosx_deps

@ -3,9 +3,7 @@
needs_compile || exit 0
if hash clang-tidy-5.0 2>/dev/null; then
CLANG_TIDY=clang-tidy-5.0
else
if [ -z "${CLANG_TIDY}" ]; then
CLANG_TIDY=clang-tidy
fi

@ -7,15 +7,15 @@ set_linux_compiler_env() {
elif [[ "${COMPILER}" == "gcc-6" ]]; then
export CC=gcc-6
export CXX=g++-6
elif [[ "${COMPILER}" == "gcc-7" ]]; then
export CC=gcc-7
export CXX=g++-7
elif [[ "${COMPILER}" == "gcc-8" ]]; then
export CC=gcc-8
export CXX=g++-8
elif [[ "${COMPILER}" == "clang-3.6" ]]; then
export CC=clang-3.6
export CXX=clang++-3.6
elif [[ "${COMPILER}" == "clang-5.0" ]]; then
export CC=clang-5.0
export CXX=clang++-5.0
elif [[ "${COMPILER}" == "clang-7" ]]; then
export CC=clang-7
export CXX=clang++-7
fi
}

@ -1,9 +1,7 @@
#! /bin/bash
function perform_lint() {
echo "Performing LINT..."
if hash clang-format-5.0 2>/dev/null; then
CLANG_FORMAT=clang-format-5.0
else
if [ -z "${CLANG_FORMAT}" ]; then
CLANG_FORMAT=clang-format
fi
echo "LINT: Using binary $CLANG_FORMAT"

@ -4,7 +4,7 @@
needs_compile || exit 0
if [[ "$LINT" == "1" ]]; then
if [[ ! -z "${CLANG_FORMAT}" ]]; then
# Lint and exit CI
perform_lint
exit 0