From a6a04c4b5b0cd475ea265b63ff6ff52daf66db42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Fri, 23 Mar 2018 11:07:19 +0100 Subject: [PATCH] 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 --- .clang-format | 1 + .travis.yml | 40 ++++++++++++++++++------------- src/irrlicht_changes/irrUString.h | 4 ++-- util/travis/before_install.sh | 6 ++--- util/travis/clangtidy.sh | 4 +--- util/travis/common.sh | 12 +++++----- util/travis/lint.sh | 4 +--- util/travis/script.sh | 2 +- 8 files changed, 38 insertions(+), 35 deletions(-) diff --git a/.clang-format b/.clang-format index 455dc6038..dc7380ffd 100644 --- a/.clang-format +++ b/.clang-format @@ -13,6 +13,7 @@ BraceWrapping: AfterUnion: true BeforeCatch: false BeforeElse: false +FixNamespaceComments: false AllowShortIfStatementsOnASingleLine: false IndentCaseLabels: false AccessModifierOffset: -8 diff --git a/.travis.yml b/.travis.yml index 2409a51cd..23f6d5ebb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 + diff --git a/src/irrlicht_changes/irrUString.h b/src/irrlicht_changes/irrUString.h index b628c092c..fce49e717 100644 --- a/src/irrlicht_changes/irrUString.h +++ b/src/irrlicht_changes/irrUString.h @@ -2916,13 +2916,13 @@ public: ret[0] = unicode::BOM; else if (endian == unicode::EUTFEE_LITTLE) { - uchar8_t* ptr8 = reinterpret_cast(&ret[0]); + uchar8_t* ptr8 = reinterpret_cast(ret.c_str()); *ptr8++ = unicode::BOM_ENCODE_UTF16_LE[0]; *ptr8 = unicode::BOM_ENCODE_UTF16_LE[1]; } else { - uchar8_t* ptr8 = reinterpret_cast(&ret[0]); + uchar8_t* ptr8 = reinterpret_cast(ret.c_str()); *ptr8++ = unicode::BOM_ENCODE_UTF16_BE[0]; *ptr8 = unicode::BOM_ENCODE_UTF16_BE[1]; } diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh index 19c40ef90..fef054130 100755 --- a/util/travis/before_install.sh +++ b/util/travis/before_install.sh @@ -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 diff --git a/util/travis/clangtidy.sh b/util/travis/clangtidy.sh index 7ed555693..5b00115c8 100755 --- a/util/travis/clangtidy.sh +++ b/util/travis/clangtidy.sh @@ -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 diff --git a/util/travis/common.sh b/util/travis/common.sh index 949540967..b4406866e 100644 --- a/util/travis/common.sh +++ b/util/travis/common.sh @@ -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 } diff --git a/util/travis/lint.sh b/util/travis/lint.sh index 887e621f5..b3027c689 100644 --- a/util/travis/lint.sh +++ b/util/travis/lint.sh @@ -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" diff --git a/util/travis/script.sh b/util/travis/script.sh index 32e8d2e36..19aa2fdf7 100755 --- a/util/travis/script.sh +++ b/util/travis/script.sh @@ -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