Bug 1467658 - Upgrade the default clang toolchain to clang 6. r?build
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.
--- 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