diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure index f6e29a4238d9..cf64d7bfd7ce 100755 --- a/build/moz.configure/toolchain.configure +++ b/build/moz.configure/toolchain.configure @@ -1015,9 +1015,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None, if host_or_target.os == 'Android': raise FatalCheckError('GCC is not supported on Android.\n' 'Please use clang from the Android NDK instead.') - if info.version < '6.1.0': + if info.version < '7.1.0': raise FatalCheckError( - 'Only GCC 6.1 or newer is supported (found version %s).' + 'Only GCC 7.1 or newer is supported (found version %s).' % info.version) if info.type == 'clang-cl': diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py index ef1d59f08a7f..cd57336b5029 100755 --- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py +++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py @@ -127,9 +127,11 @@ GCC_6 = GCC('6.4.0') + DEFAULT_C11 GXX_6 = GXX('6.4.0') + DEFAULT_CXX_14 + SUPPORTS_GNUXX17 + SUPPORTS_DRAFT_CXX17_201500_VERSION GCC_7 = GCC('7.3.0') + DEFAULT_C11 GXX_7 = GXX('7.3.0') + DEFAULT_CXX_14 + SUPPORTS_GNUXX17 + SUPPORTS_CXX17 +GCC_8 = GCC('8.3.0') + DEFAULT_C11 +GXX_8 = GXX('8.3.0') + DEFAULT_CXX_14 + SUPPORTS_GNUXX17 + SUPPORTS_CXX17 -DEFAULT_GCC = GCC_6 -DEFAULT_GXX = GXX_6 +DEFAULT_GCC = GCC_7 +DEFAULT_GXX = GXX_7 GCC_PLATFORM_LITTLE_ENDIAN = { '__ORDER_LITTLE_ENDIAN__': 1234, @@ -462,7 +464,7 @@ class BaseToolchainTest(BaseConfigureTest): def old_gcc_message(old_ver): - return 'Only GCC 6.1 or newer is supported (found version {}).'.format(old_ver) + return 'Only GCC 7.1 or newer is supported (found version {}).'.format(old_ver) class LinuxToolchainTest(BaseToolchainTest): @@ -477,6 +479,8 @@ class LinuxToolchainTest(BaseToolchainTest): '/usr/bin/g++-6': GXX_6 + GCC_PLATFORM_X86_64_LINUX, '/usr/bin/gcc-7': GCC_7 + GCC_PLATFORM_X86_64_LINUX, '/usr/bin/g++-7': GXX_7 + GCC_PLATFORM_X86_64_LINUX, + '/usr/bin/gcc-8': GCC_8 + GCC_PLATFORM_X86_64_LINUX, + '/usr/bin/g++-8': GXX_8 + GCC_PLATFORM_X86_64_LINUX, '/usr/bin/clang': DEFAULT_CLANG + CLANG_PLATFORM_X86_64_LINUX, '/usr/bin/clang++': DEFAULT_CLANGXX + CLANG_PLATFORM_X86_64_LINUX, '/usr/bin/clang-5.0': CLANG_5_0 + CLANG_PLATFORM_X86_64_LINUX, @@ -493,20 +497,8 @@ class LinuxToolchainTest(BaseToolchainTest): GXX_4_9_RESULT = GCC_4_9_RESULT GCC_5_RESULT = old_gcc_message('5.2.1') GXX_5_RESULT = GCC_5_RESULT - GCC_6_RESULT = CompilerResult( - flags=['-std=gnu99'], - version='6.4.0', - type='gcc', - compiler='/usr/bin/gcc-6', - language='C', - ) - GXX_6_RESULT = CompilerResult( - flags=[], - version='6.4.0', - type='gcc', - compiler='/usr/bin/g++-6', - language='C++', - ) + GCC_6_RESULT = old_gcc_message('6.4.0') + GXX_6_RESULT = GCC_6_RESULT GCC_7_RESULT = CompilerResult( flags=['-std=gnu99'], version='7.3.0', @@ -521,8 +513,22 @@ class LinuxToolchainTest(BaseToolchainTest): compiler='/usr/bin/g++-7', language='C++', ) - DEFAULT_GCC_RESULT = GCC_6_RESULT + {'compiler': '/usr/bin/gcc'} - DEFAULT_GXX_RESULT = GXX_6_RESULT + {'compiler': '/usr/bin/g++'} + GCC_8_RESULT = CompilerResult( + flags=['-std=gnu99'], + version='8.3.0', + type='gcc', + compiler='/usr/bin/gcc-8', + language='C', + ) + GXX_8_RESULT = CompilerResult( + flags=[], + version='8.3.0', + type='gcc', + compiler='/usr/bin/g++-8', + language='C++', + ) + DEFAULT_GCC_RESULT = GCC_7_RESULT + {'compiler': '/usr/bin/gcc'} + DEFAULT_GXX_RESULT = GXX_7_RESULT + {'compiler': '/usr/bin/g++'} CLANG_3_3_RESULT = 'Only clang/llvm 5.0 or newer is supported.' CLANGXX_3_3_RESULT = 'Only clang/llvm 5.0 or newer is supported.' @@ -600,12 +606,12 @@ class LinuxToolchainTest(BaseToolchainTest): self.do_toolchain_test(self.PATHS, { 'c_compiler': self.DEFAULT_GCC_RESULT, 'cxx_compiler': ( - 'The target C compiler is version 6.4.0, while the target ' - 'C++ compiler is version 7.3.0. Need to use the same compiler ' + 'The target C compiler is version 7.3.0, while the target ' + 'C++ compiler is version 8.3.0. Need to use the same compiler ' 'version.'), }, environ={ 'CC': 'gcc', - 'CXX': 'g++-7', + 'CXX': 'g++-8', }) self.do_toolchain_test(self.PATHS, { @@ -613,12 +619,12 @@ class LinuxToolchainTest(BaseToolchainTest): 'cxx_compiler': self.DEFAULT_GXX_RESULT, 'host_c_compiler': self.DEFAULT_GCC_RESULT, 'host_cxx_compiler': ( - 'The host C compiler is version 6.4.0, while the host ' - 'C++ compiler is version 7.3.0. Need to use the same compiler ' + 'The host C compiler is version 7.3.0, while the host ' + 'C++ compiler is version 8.3.0. Need to use the same compiler ' 'version.'), }, environ={ 'CC': 'gcc', - 'HOST_CXX': 'g++-7', + 'HOST_CXX': 'g++-8', }) def test_mismatched_compiler(self): @@ -963,6 +969,8 @@ class WindowsToolchainTest(BaseToolchainTest): '/usr/bin/g++-5': GXX_5 + GCC_PLATFORM_X86_WIN, '/usr/bin/gcc-6': GCC_6 + GCC_PLATFORM_X86_WIN, '/usr/bin/g++-6': GXX_6 + GCC_PLATFORM_X86_WIN, + '/usr/bin/gcc-7': GCC_7 + GCC_PLATFORM_X86_WIN, + '/usr/bin/g++-7': GXX_7 + GCC_PLATFORM_X86_WIN, '/usr/bin/clang': DEFAULT_CLANG + CLANG_PLATFORM_X86_WIN, '/usr/bin/clang++': DEFAULT_CLANGXX + CLANG_PLATFORM_X86_WIN, '/usr/bin/clang-5.0': CLANG_5_0 + CLANG_PLATFORM_X86_WIN, @@ -1001,6 +1009,8 @@ class WindowsToolchainTest(BaseToolchainTest): GXX_5_RESULT = LinuxToolchainTest.GXX_5_RESULT GCC_6_RESULT = LinuxToolchainTest.GCC_6_RESULT GXX_6_RESULT = LinuxToolchainTest.GXX_6_RESULT + GCC_7_RESULT = LinuxToolchainTest.GCC_7_RESULT + GXX_7_RESULT = LinuxToolchainTest.GXX_7_RESULT DEFAULT_GCC_RESULT = LinuxToolchainTest.DEFAULT_GCC_RESULT DEFAULT_GXX_RESULT = LinuxToolchainTest.DEFAULT_GXX_RESULT diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml index e1158a78e00e..5a994e0157e5 100644 --- a/taskcluster/ci/build/linux.yml +++ b/taskcluster/ci/build/linux.yml @@ -253,7 +253,7 @@ linux64-base-toolchains/opt: fetches: toolchain: - linux64-clang-5.0 - - linux64-gcc-6 + - linux64-gcc-7 - linux64-rust-1.37 - linux64-cbindgen - linux64-sccache @@ -290,7 +290,7 @@ linux64-base-toolchains/debug: fetches: toolchain: - linux64-clang-5.0 - - linux64-gcc-6 + - linux64-gcc-7 - linux64-rust-1.37 - linux64-cbindgen - linux64-sccache diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml index c91a14ccff81..c36bd2e72b06 100644 --- a/taskcluster/ci/toolchain/clang-tidy.yml +++ b/taskcluster/ci/toolchain/clang-tidy.yml @@ -40,7 +40,7 @@ linux64-clang-tidy: fetches: toolchain: - linux64-binutils - - linux64-gcc-6 + - linux64-gcc-7 macosx64-clang-tidy: index: @@ -65,7 +65,7 @@ macosx64-clang-tidy: - linux64-binutils - linux64-cctools-port - linux64-clang-9 - - linux64-gcc-6 + - linux64-gcc-7 - linux64-node win64-clang-tidy: diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml index 1427bfeb5290..115d131da0fe 100644 --- a/taskcluster/ci/toolchain/gcc.yml +++ b/taskcluster/ci/toolchain/gcc.yml @@ -11,28 +11,13 @@ job-defaults: - 'build/unix/build-gcc/build-gcc.sh' toolchain-artifact: public/build/gcc.tar.xz -linux64-gcc-6: - description: "GCC 6 toolchain build" - treeherder: - symbol: TL(gcc6) - run: - script: build-gcc-linux.sh - toolchain-alias: linux64-gcc - fetches: - fetch: - - binutils-2.31.1 - - gcc-6.4.0 - - gmp-5.1.3 - - isl-0.15 - - mpc-0.8.2 - - mpfr-3.1.5 - linux64-gcc-7: description: "GCC 7 toolchain build" treeherder: symbol: TL(gcc7) run: script: build-gcc-linux.sh + toolchain-alias: linux64-gcc fetches: fetch: - binutils-2.31.1 diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml index 2b931d795d67..48bd509e36a3 100644 --- a/taskcluster/ci/toolchain/gn.yml +++ b/taskcluster/ci/toolchain/gn.yml @@ -25,7 +25,7 @@ linux64-gn: script: build-gn-linux.sh fetches: toolchain: - - linux64-gcc-6 + - linux64-gcc-7 macosx64-gn: treeherder: diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml index 3765bf35a046..58678b009f9a 100644 --- a/taskcluster/ci/toolchain/misc.yml +++ b/taskcluster/ci/toolchain/misc.yml @@ -35,7 +35,7 @@ linux64-llvm-dsymutil: fetch: - llvm-for-dsymutil toolchain: - - linux64-gcc-6 + - linux64-gcc-7 linux64-binutils: description: "Binutils toolchain build" @@ -116,7 +116,7 @@ linux64-tup: fetch: - tup toolchain: - - linux64-gcc-6 + - linux64-gcc-7 linux64-upx: description: "UPX build"