Bug 1394825 - Update minimum clang version to 4.0. r=glandium

libclang 3.9 has a bug that makes bindgen unable to distinguish some typedefs
from the underlying type, which matters for bug 1523071.

We have had quite a few workarounds for this bug and I don't really want to add
more, since in this case it is non-trivial. I think requiring libclang 4.0+ is
reasonable at this point.

Of the distros that can't build Firefox out of the box with clang, dropping support
for clang 3.9 would only break Ubuntu 14.04 LTS, which support ends April 2019,
right before we release 67.

Differential Revision: https://phabricator.services.mozilla.com/D18889

--HG--
rename : build/build-clang/clang-3.9-linux64.json => build/build-clang/clang-4.0-linux64.json
rename : taskcluster/scripts/misc/build-clang-3.9-linux.sh => taskcluster/scripts/misc/build-clang-4.0-linux.sh
extra : moz-landing-system : lando
This commit is contained in:
Emilio Cobos Álvarez 2019-02-10 02:56:13 +00:00
Родитель ad8855ed35
Коммит da05bafa94
4 изменённых файлов: 17 добавлений и 23 удалений

Просмотреть файл

@ -1,24 +1,18 @@
{
"llvm_revision": "289595",
"llvm_revision": "305830",
"stages": "3",
"build_libcxx": true,
"build_type": "Release",
"assertions": false,
"llvm_repo": "https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_391/final",
"clang_repo": "https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_391/final",
"compiler_repo": "https://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_391/final",
"libcxx_repo": "https://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_391/final",
"libcxxabi_repo": "https://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_391/final",
"llvm_repo": "https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_401/final",
"clang_repo": "https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_401/final",
"compiler_repo": "https://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_401/final",
"libcxx_repo": "https://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_401/final",
"libcxxabi_repo": "https://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_401/final",
"python_path": "/usr/bin/python2.7",
"gcc_dir": "/builds/worker/workspace/build/src/gcc",
"cc": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"cxx": "/builds/worker/workspace/build/src/gcc/bin/g++",
"as": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"patches": [
"llvm-debug-frame.patch",
"r277806.patch",
"r285657.patch",
"r289565-for-3.9.patch",
"r313872.patch"
]
"patches": []
}

Просмотреть файл

@ -271,7 +271,7 @@ linux64-base-toolchains/opt:
tooltool-downloads: public
need-xvfb: true
toolchains:
- linux64-clang-3.9
- linux64-clang-4.0
- linux64-gcc-6
- linux64-rust-1.31
- linux64-cbindgen
@ -306,7 +306,7 @@ linux64-base-toolchains/debug:
tooltool-downloads: public
need-xvfb: true
toolchains:
- linux64-clang-3.9
- linux64-clang-4.0
- linux64-gcc-6
- linux64-rust-1.31
- linux64-cbindgen
@ -338,7 +338,7 @@ linux64-base-toolchains-clang/opt:
tooltool-downloads: public
need-xvfb: true
toolchains:
- linux64-clang-3.9
- linux64-clang-4.0
- linux64-rust-1.31
- linux64-cbindgen
- linux64-sccache
@ -371,7 +371,7 @@ linux64-base-toolchains-clang/debug:
tooltool-downloads: public
need-xvfb: true
toolchains:
- linux64-clang-3.9
- linux64-clang-4.0
- linux64-rust-1.31
- linux64-cbindgen
- linux64-sccache

Просмотреть файл

@ -10,15 +10,15 @@ job-defaults:
resources:
- 'build/build-clang/build-clang.py'
linux64-clang-3.9:
description: "Clang 3.9 toolchain build"
linux64-clang-4.0:
description: "Clang 4.0 toolchain build"
treeherder:
symbol: TL(clang3.9)
symbol: TL(clang4.0)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
run:
script: build-clang-3.9-linux.sh
script: build-clang-4.0-linux.sh
resources:
- 'build/build-clang/clang-3.9-linux64.json'
- 'build/build-clang/clang-4.0-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:

Просмотреть файл

@ -16,7 +16,7 @@ set +x
cd build/build-clang
# |mach python| sets up a virtualenv for us!
../../mach python ./build-clang.py -c clang-3.9-linux64.json
../../mach python ./build-clang.py -c clang-4.0-linux64.json
set -x