Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: tools/clang/scripts/update.sh

Issue 612093003: Roll Clang 216630:217949 (try 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/config/compiler/BUILD.gn ('k') | tools/valgrind/memcheck/suppressions.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env bash 1 #!/usr/bin/env bash
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This script will check out llvm and clang into third_party/llvm and build it. 6 # This script will check out llvm and clang into third_party/llvm and build it.
7 7
8 # Do NOT CHANGE this if you don't know what you're doing -- see 8 # Do NOT CHANGE this if you don't know what you're doing -- see
9 # https://code.google.com/p/chromium/wiki/UpdatingClang 9 # https://code.google.com/p/chromium/wiki/UpdatingClang
10 # Reverting problematic clang rolls is safe, though. 10 # Reverting problematic clang rolls is safe, though.
11 CLANG_REVISION=216630 11 CLANG_REVISION=217949
12 12
13 THIS_DIR="$(dirname "${0}")" 13 THIS_DIR="$(dirname "${0}")"
14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" 14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm"
15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build/Release+Asserts" 15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build/Release+Asserts"
16 COMPILER_RT_BUILD_DIR="${LLVM_DIR}/../llvm-build/compiler-rt" 16 COMPILER_RT_BUILD_DIR="${LLVM_DIR}/../llvm-build/compiler-rt"
17 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" 17 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap"
18 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" 18 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install"
19 CLANG_DIR="${LLVM_DIR}/tools/clang" 19 CLANG_DIR="${LLVM_DIR}/tools/clang"
20 COMPILER_RT_DIR="${LLVM_DIR}/compiler-rt" 20 COMPILER_RT_DIR="${LLVM_DIR}/compiler-rt"
21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" 21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 # Check that cmake and ninja are available. 220 # Check that cmake and ninja are available.
221 if ! which cmake > /dev/null; then 221 if ! which cmake > /dev/null; then
222 echo "CMake needed to build clang; please install" 222 echo "CMake needed to build clang; please install"
223 exit 1 223 exit 1
224 fi 224 fi
225 if ! which ninja > /dev/null; then 225 if ! which ninja > /dev/null; then
226 echo "ninja needed to build clang, please install" 226 echo "ninja needed to build clang, please install"
227 exit 1 227 exit 1
228 fi 228 fi
229 229
230 echo Reverting previously patched files
231 for i in \
232 "${CLANG_DIR}/test/Index/crash-recovery-modules.m" \
233 "${CLANG_DIR}/unittests/libclang/LibclangTest.cpp" \
234 "${COMPILER_RT_DIR}/lib/asan/asan_rtl.cc" \
235 "${COMPILER_RT_DIR}/test/asan/TestCases/Linux/new_array_cookie_test.cc" \
236 ; do
237 if [[ -e "${i}" ]]; then
238 svn revert "${i}"
239 fi;
240 done
241
230 echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}" 242 echo Getting LLVM r"${CLANG_REVISION}" in "${LLVM_DIR}"
231 if ! svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" \ 243 if ! svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" \
232 "${LLVM_DIR}"; then 244 "${LLVM_DIR}"; then
233 echo Checkout failed, retrying 245 echo Checkout failed, retrying
234 rm -rf "${LLVM_DIR}" 246 rm -rf "${LLVM_DIR}"
235 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}" 247 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}"
236 fi 248 fi
237 249
238 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" 250 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}"
239 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}" 251 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}"
(...skipping 17 matching lines...) Expand all
257 # While we're bundling our own libc++ on OS X, we need to compile libc++abi 269 # While we're bundling our own libc++ on OS X, we need to compile libc++abi
258 # into it too (since OS X 10.6 doesn't have libc++abi.dylib either). 270 # into it too (since OS X 10.6 doesn't have libc++abi.dylib either).
259 if [ "${OS}" = "Darwin" ]; then 271 if [ "${OS}" = "Darwin" ]; then
260 echo Getting libc++abi r"${CLANG_REVISION}" in "${LIBCXXABI_DIR}" 272 echo Getting libc++abi r"${CLANG_REVISION}" in "${LIBCXXABI_DIR}"
261 svn co --force "${LLVM_REPO_URL}/libcxxabi/trunk@${CLANG_REVISION}" \ 273 svn co --force "${LLVM_REPO_URL}/libcxxabi/trunk@${CLANG_REVISION}" \
262 "${LIBCXXABI_DIR}" 274 "${LIBCXXABI_DIR}"
263 fi 275 fi
264 276
265 # Apply patch for tests failing with --disable-pthreads (llvm.org/PR11974) 277 # Apply patch for tests failing with --disable-pthreads (llvm.org/PR11974)
266 pushd "${CLANG_DIR}" 278 pushd "${CLANG_DIR}"
267 svn revert test/Index/crash-recovery-modules.m
268 cat << 'EOF' | 279 cat << 'EOF' |
269 --- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (revisio n 202554) 280 --- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (revisio n 202554)
270 +++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (working copy) 281 +++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (working copy)
271 @@ -12,6 +12,8 @@ 282 @@ -12,6 +12,8 @@
272 283
273 // REQUIRES: crash-recovery 284 // REQUIRES: crash-recovery
274 // REQUIRES: shell 285 // REQUIRES: shell
275 +// XFAIL: * 286 +// XFAIL: *
276 +// (PR11974) 287 +// (PR11974)
277 288
278 @import Crash; 289 @import Crash;
279 EOF 290 EOF
280 patch -p4 291 patch -p4
281 popd 292 popd
282 293
283 pushd "${CLANG_DIR}" 294 pushd "${CLANG_DIR}"
284 svn revert unittests/libclang/LibclangTest.cpp
285 cat << 'EOF' | 295 cat << 'EOF' |
286 --- unittests/libclang/LibclangTest.cpp (revision 215949) 296 --- unittests/libclang/LibclangTest.cpp (revision 215949)
287 +++ unittests/libclang/LibclangTest.cpp (working copy) 297 +++ unittests/libclang/LibclangTest.cpp (working copy)
288 @@ -431,7 +431,7 @@ 298 @@ -431,7 +431,7 @@
289 EXPECT_EQ(0U, clang_getNumDiagnostics(ClangTU)); 299 EXPECT_EQ(0U, clang_getNumDiagnostics(ClangTU));
290 } 300 }
291 301
292 -TEST_F(LibclangReparseTest, ReparseWithModule) { 302 -TEST_F(LibclangReparseTest, ReparseWithModule) {
293 +TEST_F(LibclangReparseTest, DISABLED_ReparseWithModule) { 303 +TEST_F(LibclangReparseTest, DISABLED_ReparseWithModule) {
294 const char *HeaderTop = "#ifndef H\n#define H\nstruct Foo { int bar;"; 304 const char *HeaderTop = "#ifndef H\n#define H\nstruct Foo { int bar;";
295 const char *HeaderBottom = "\n};\n#endif\n"; 305 const char *HeaderBottom = "\n};\n#endif\n";
296 const char *MFile = "#include \"HeaderFile.h\"\nint main() {" 306 const char *MFile = "#include \"HeaderFile.h\"\nint main() {"
297 EOF 307 EOF
298 patch -p0 308 patch -p0
299 popd 309 popd
300 310
301 # Apply r216684 to fix ASan array cookie instrumentation problem.
302 # (See https://code.google.com/p/chromium/issues/detail?id=400849#c17)
303 pushd "${COMPILER_RT_DIR}"
304 svn revert lib/asan/asan_rtl.cc
305 svn revert test/asan/TestCases/Linux/new_array_cookie_test.cc
306 cat << 'EOF' |
307 --- a/lib/asan/asan_rtl.cc
308 +++ b/lib/asan/asan_rtl.cc
309 @@ -269,7 +269,7 @@ void InitializeFlags(Flags *f, const char *env) {
310 f->allow_reexec = true;
311 f->print_full_thread_history = true;
312 f->poison_heap = true;
313 - f->poison_array_cookie = true;
314 + f->poison_array_cookie = false;
315 f->poison_partial = true;
316 // Turn off alloc/dealloc mismatch checker on Mac and Windows for now.
317 // https://code.google.com/p/address-sanitizer/issues/detail?id=131
318 diff --git a/test/asan/TestCases/Linux/new_array_cookie_test.cc b/test/asan/Test Cases/Linux/new_array_cookie_test.cc
319 index 339120b..49545f0 100644
320 --- a/test/asan/TestCases/Linux/new_array_cookie_test.cc
321 +++ b/test/asan/TestCases/Linux/new_array_cookie_test.cc
322 @@ -1,6 +1,6 @@
323 // REQUIRES: asan-64-bits
324 -// RUN: %clangxx_asan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
325 -// RUN: %clangxx_asan -O3 %s -o %t && not %run %t 2>&1 | FileCheck %s
326 +// RUN: %clangxx_asan -O3 %s -o %t
327 +// RUN %run %t
328 // RUN: ASAN_OPTIONS=poison_array_cookie=1 not %run %t 2>&1 | FileCheck %s
329 // RUN: ASAN_OPTIONS=poison_array_cookie=0 %run %t
330 #include <stdio.h>
331 EOF
332 patch -p1
333 popd
334
335 # Echo all commands. 311 # Echo all commands.
336 set -x 312 set -x
337 313
338 # Set default values for CC and CXX if they're not set in the environment. 314 # Set default values for CC and CXX if they're not set in the environment.
339 CC=${CC:-cc} 315 CC=${CC:-cc}
340 CXX=${CXX:-c++} 316 CXX=${CXX:-c++}
341 317
342 if [[ -n "${gcc_toolchain}" ]]; then 318 if [[ -n "${gcc_toolchain}" ]]; then
343 # Use the specified gcc installation for building. 319 # Use the specified gcc installation for building.
344 CC="$gcc_toolchain/bin/gcc" 320 CC="$gcc_toolchain/bin/gcc"
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 555
580 if [[ -n "$run_tests" ]]; then 556 if [[ -n "$run_tests" ]]; then
581 # Run Chrome tool tests. 557 # Run Chrome tool tests.
582 ninja -C "${TOOL_BUILD_DIR}" check-all 558 ninja -C "${TOOL_BUILD_DIR}" check-all
583 # Run the LLVM and Clang tests. 559 # Run the LLVM and Clang tests.
584 ninja -C "${LLVM_BUILD_DIR}" check-all 560 ninja -C "${LLVM_BUILD_DIR}" check-all
585 fi 561 fi
586 562
587 # After everything is done, log success for this revision. 563 # After everything is done, log success for this revision.
588 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" 564 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}"
OLDNEW
« no previous file with comments | « build/config/compiler/BUILD.gn ('k') | tools/valgrind/memcheck/suppressions.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698