Browse Source

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
Loïc Blot 1 year ago
parent
commit
a6a04c4b5b

+ 1 - 0
.clang-format

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

+ 23 - 17
.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
+

+ 2 - 2
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<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];
 			}

+ 3 - 3
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

+ 1 - 3
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
 

+ 6 - 6
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
 }
 

+ 1 - 3
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"

+ 1 - 1
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