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:
		
							parent
							
								
									aafbdd442f
								
							
						
					
					
						commit
						a6a04c4b5b
					
				@ -13,6 +13,7 @@ BraceWrapping:
 | 
			
		||||
  AfterUnion: true
 | 
			
		||||
  BeforeCatch: false
 | 
			
		||||
  BeforeElse: false
 | 
			
		||||
FixNamespaceComments: false
 | 
			
		||||
AllowShortIfStatementsOnASingleLine: false
 | 
			
		||||
IndentCaseLabels: false
 | 
			
		||||
AccessModifierOffset: -8
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										40
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								.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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user