Bug 1467658 - Upgrade the default clang toolchain to clang 6. r=chmanchester
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 08 Jun 2018 10:36:07 +0900
changeset 476657 8fa300c2bc673aad62f0023d30565f9df94e3386
parent 476656 6a73d6e30f773cb911d785a641a779eb0487c766
child 476658 fbb24440af0fcb5c1c7a6533ab585a5cd1594945
push id9374
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:43:20 +0000
treeherdermozilla-beta@160e085dfb0b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerschmanchester
bugs1467658, 1467673
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1467658 - Upgrade the default clang toolchain to clang 6. r=chmanchester The linux64-clang toolchain alias is currently clang 5. Switch it to clang 6, but keep the spidermonkey tsan builds on clang 5 because of bug 1467673. The LLVM headers that come with clang 6 contain a DEBUG define that conflicts with our DEBUG define and breaks the clang-plugin build, so force unset ours.
build/clang-plugin/moz.build
taskcluster/ci/spidermonkey/linux.yml
taskcluster/ci/toolchain/linux.yml
--- a/build/clang-plugin/moz.build
+++ b/build/clang-plugin/moz.build
@@ -93,8 +93,12 @@ COMPILE_FLAGS['OS_COMPILE_CXXFLAGS'] = [
 LINK_FLAGS['OS'] = CONFIG['LLVM_LDFLAGS'] + CONFIG['CLANG_LDFLAGS']
 # The ldflags above override most other categories.
 for var in ('LINKER', 'OPTIMIZE'):
     LINK_FLAGS[var] = []
 
 if CONFIG['HOST_OS_ARCH'] == 'Linux' and CONFIG['OS_ARCH'] == 'Darwin':
     # Don't pass OSX linker arguments.
     LINK_FLAGS['FIX_LINK_PATHS'] = []
+
+# Avoid -DDEBUG=1 on the command line, which conflicts with a #define
+# DEBUG(...) in llvm headers.
+DEFINES['DEBUG'] = False
--- a/taskcluster/ci/spidermonkey/linux.yml
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -133,16 +133,18 @@ sm-tsan-linux64/opt:
     description: "Spidermonkey Thread Sanitizer"
     index:
         job-name: sm-tsan-linux64-opt
     treeherder:
         symbol: SM(tsan)
         platform: linux64/opt
     run:
         spidermonkey-variant: tsan
+    toolchains:
+        - linux64-clang-5
 
 sm-rootanalysis-linux64/debug:
     description: "Spidermonkey Root Analysis"
     index:
         job-name: sm-rootanalysis-linux64-debug
     treeherder:
         platform: linux64/debug
         symbol: SM(r)
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -60,17 +60,16 @@ linux64-clang-5:
         max-run-time: 7200
     run:
         using: toolchain-script
         script: build-clang-5-linux.sh
         resources:
             - 'build/build-clang/build-clang.py'
             - 'build/build-clang/clang-5-linux64.json'
             - 'taskcluster/scripts/misc/tooltool-download.sh'
-        toolchain-alias: linux64-clang
         toolchain-artifact: public/build/clang.tar.xz
     toolchains:
         - linux64-gcc-4.9
 
 linux64-clang-6:
     description: "Clang 6 toolchain build"
     treeherder:
         kind: build
@@ -82,16 +81,17 @@ linux64-clang-6:
         max-run-time: 7200
     run:
         using: toolchain-script
         script: build-clang-6-linux.sh
         resources:
             - 'build/build-clang/build-clang.py'
             - 'build/build-clang/clang-6-linux64.json'
             - 'taskcluster/scripts/misc/tooltool-download.sh'
+        toolchain-alias: linux64-clang
         toolchain-artifact: public/build/clang.tar.xz
     toolchains:
         - linux64-gcc-4.9
 
 linux64-clang-6-macosx-cross:
     description: "Clang 6 toolchain build with MacOS Compiler RT libs"
     treeherder:
         kind: build