From 70f3bb33ffdd89c9b6039dfcf1645e27aecb8a97 Mon Sep 17 00:00:00 2001 From: "thakis@chromium.org" Date: Tue, 31 Jul 2012 21:59:19 +0000 Subject: roll clang 159409:160967 * Lets -Wunused-private-field find more stuff * Fixes an ASan problem on precise * Improves the plugin's handling of inner classes (off by default, can be enabled with |-Xclang -plugin-arg-find-bad-constructs -Xclang check-inner-classes|) * Makes addr2line much faster on linux BUG=139346 TBR=mark for base (the change was reviewed as part of https://chromiumcodereview.appspot.com/10833055/) Review URL: https://chromiumcodereview.appspot.com/10825104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149286 0039d316-1c4b-4281-b951-d872f2087c98 --- base/process_util_unittest.cc | 1 + chrome/common/mac/objc_zombie.mm | 5 ++++- tools/clang/scripts/update.sh | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/base/process_util_unittest.cc b/base/process_util_unittest.cc index 3925d0a..3368d5e 100644 --- a/base/process_util_unittest.cc +++ b/base/process_util_unittest.cc @@ -504,6 +504,7 @@ TEST_F(ProcessUtilTest, MacMallocFailureDoesNotTerminate) { TEST_F(ProcessUtilTest, MacTerminateOnHeapCorruption) { // Assert that freeing an unallocated pointer will crash the process. char buf[3]; + asm("" : "=r" (buf)); // Prevent clang from being too smart. #if !defined(ADDRESS_SANITIZER) ASSERT_DEATH(free(buf), "being freed.*" "\\*\\*\\* set a breakpoint in malloc_error_break to debug.*" diff --git a/chrome/common/mac/objc_zombie.mm b/chrome/common/mac/objc_zombie.mm index 98f73c7..a934359 100644 --- a/chrome/common/mac/objc_zombie.mm +++ b/chrome/common/mac/objc_zombie.mm @@ -25,7 +25,10 @@ // Deallocated objects are re-classed as |CrZombie|. No superclass // because then the class would have to override many/most of the // inherited methods (|NSObject| is like a category magnet!). -@interface CrZombie { +// Without the __attribute__, clang's -Wobjc-root-class warns on the missing +// superclass. +__attribute__((objc_root_class)) +@interface CrZombie { Class isa; } @end diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh index 55bf1a5..4ed5c65 100755 --- a/tools/clang/scripts/update.sh +++ b/tools/clang/scripts/update.sh @@ -8,7 +8,7 @@ # Do NOT CHANGE this if you don't know what you're doing -- see # https://code.google.com/p/chromium/wiki/UpdatingClang # Reverting problematic clang rolls is safe, though. -CLANG_REVISION=159409 +CLANG_REVISION=160967 THIS_DIR="$(dirname "${0}")" LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" -- cgit v1.1