summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/process_util_unittest.cc1
-rw-r--r--chrome/common/mac/objc_zombie.mm5
-rwxr-xr-xtools/clang/scripts/update.sh2
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"