summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-04 01:11:37 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-04 01:11:37 +0000
commitd19d40d46917d7f347d1acd1517d162fb080755e (patch)
treeb6c40b348fb2367670046cbcd41bba1fbd10cc82
parentbece1565f412f065e73448c5e337dbb76b33bf96 (diff)
downloadchromium_src-d19d40d46917d7f347d1acd1517d162fb080755e.zip
chromium_src-d19d40d46917d7f347d1acd1517d162fb080755e.tar.gz
chromium_src-d19d40d46917d7f347d1acd1517d162fb080755e.tar.bz2
Roll Clang 188423:191856.
Remove libprofile_rt from package.sh, it doesn't exist after LLVM r191835 BUG=290204,303886 R=thakis@chromium.org TBR=net owner NOTRY=true Review URL: https://codereview.chromium.org/25875004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226920 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--base/debug/stack_trace_android.cc10
-rw-r--r--base/security_unittest.cc9
-rw-r--r--build/common.gypi16
-rw-r--r--net/cert/multi_threaded_cert_verifier_unittest.cc8
-rwxr-xr-xtools/clang/scripts/package.sh1
-rwxr-xr-xtools/clang/scripts/update.sh2
6 files changed, 27 insertions, 19 deletions
diff --git a/base/debug/stack_trace_android.cc b/base/debug/stack_trace_android.cc
index ec0508a..257e823 100644
--- a/base/debug/stack_trace_android.cc
+++ b/base/debug/stack_trace_android.cc
@@ -26,16 +26,6 @@ struct StackCrawlState {
bool have_skipped_self;
};
-// Clang's unwind.h doesn't provide _Unwind_GetIP on ARM, refer to
-// http://llvm.org/bugs/show_bug.cgi?id=16564 for details.
-#if defined(__clang__)
-uintptr_t _Unwind_GetIP(_Unwind_Context* context) {
- uintptr_t ip = 0;
- _Unwind_VRS_Get(context, _UVRSC_CORE, 15, _UVRSD_UINT32, &ip);
- return ip & ~static_cast<uintptr_t>(0x1); // Remove thumb mode bit.
-}
-#endif
-
_Unwind_Reason_Code TraceStackFrame(_Unwind_Context* context, void* arg) {
StackCrawlState* state = static_cast<StackCrawlState*>(arg);
uintptr_t ip = _Unwind_GetIP(context);
diff --git a/base/security_unittest.cc b/base/security_unittest.cc
index 5b266b0..8f59219 100644
--- a/base/security_unittest.cc
+++ b/base/security_unittest.cc
@@ -75,14 +75,11 @@ bool IsTcMallocBypassed() {
}
bool CallocDiesOnOOM() {
+// The sanitizers' calloc dies on OOM instead of returning NULL.
// The wrapper function in base/process_util_linux.cc that is used when we
// compile without TCMalloc will just die on OOM instead of returning NULL.
-// This function is explicitly disabled if we compile with AddressSanitizer,
-// MemorySanitizer or ThreadSanitizer.
-#if defined(OS_LINUX) && defined(NO_TCMALLOC) && \
- (!defined(ADDRESS_SANITIZER) && \
- !defined(MEMORY_SANITIZER) && \
- !defined(THREAD_SANITIZER))
+#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
+ defined(THREAD_SANITIZER) || (defined(OS_LINUX) && defined(NO_TCMALLOC))
return true;
#else
return false;
diff --git a/build/common.gypi b/build/common.gypi
index 14c2996..1bab68f 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3140,6 +3140,10 @@
'-fuse-ld=gold',
'-Wno-psabi',
],
+ 'ldflags!': [
+ # Clang does not support the following options.
+ '-fuse-ld=gold',
+ ],
}],
],
}],
@@ -3224,6 +3228,12 @@
# code generated by flex (used in angle) contains that keyword.
# http://crbug.com/255186
'-Wno-deprecated-register',
+
+ # TODO(hans): Remove once we've cleaned up the warnings.
+ '-Wno-unused-const-variable',
+
+ # This warns about auto_ptr<>, used in third-party code.
+ '-Wno-deprecated-declarations',
],
'cflags!': [
# Clang doesn't seem to know know this flag.
@@ -3927,6 +3937,12 @@
# code generated by flex (used in angle) contains that keyword.
# http://crbug.com/255186
'-Wno-deprecated-register',
+
+ # TODO(hans): Remove once we've cleaned up the warnings.
+ '-Wno-unused-const-variable',
+
+ # This warns about auto_ptr<>, used in third-party code.
+ '-Wno-deprecated-declarations',
],
}],
['clang==1 and clang_use_chrome_plugins==1', {
diff --git a/net/cert/multi_threaded_cert_verifier_unittest.cc b/net/cert/multi_threaded_cert_verifier_unittest.cc
index 17d23d3..3a0c765 100644
--- a/net/cert/multi_threaded_cert_verifier_unittest.cc
+++ b/net/cert/multi_threaded_cert_verifier_unittest.cc
@@ -279,7 +279,13 @@ TEST_F(MultiThreadedCertVerifierTest, CancelRequest) {
}
// Tests that a canceled request is not leaked.
-TEST_F(MultiThreadedCertVerifierTest, CancelRequestThenQuit) {
+#if !defined(LEAK_SANITIZER)
+#define MAYBE_CancelRequestThenQuit CancelRequestThenQuit
+#else
+// See PR303886. LeakSanitizer flags a leak here.
+#define MAYBE_CancelRequestThenQuit DISABLED_CancelRequestThenQuit
+#endif
+TEST_F(MultiThreadedCertVerifierTest, MAYBE_CancelRequestThenQuit) {
base::FilePath certs_dir = GetTestCertsDirectory();
scoped_refptr<X509Certificate> test_cert(
ImportCertFromFile(certs_dir, "ok_cert.pem"));
diff --git a/tools/clang/scripts/package.sh b/tools/clang/scripts/package.sh
index f57a28b..cd3b2b3 100755
--- a/tools/clang/scripts/package.sh
+++ b/tools/clang/scripts/package.sh
@@ -59,7 +59,6 @@ cp "${LLVM_BIN_DIR}/llvm-symbolizer" $PDIR/bin/
# Copy plugins. Some of the dylibs are pretty big, so copy only the ones we
# care about.
cp "${LLVM_LIB_DIR}/libFindBadConstructs.${SO_EXT}" $PDIR/lib
-cp "${LLVM_LIB_DIR}/libprofile_rt.${SO_EXT}" $PDIR/lib
# Copy built-in headers (lib/clang/3.2/include).
# libcompiler-rt puts all kinds of libraries there too, but we want only some.
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
index 1c49d74..76545a6 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=188423
+CLANG_REVISION=191856
THIS_DIR="$(dirname "${0}")"
LLVM_DIR="${THIS_DIR}/../../../third_party/llvm"