summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-08-27 20:07:28 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-08-27 20:07:28 +0000
commit34620a8e4f4ac5f035320e910ef763de6da0edd9 (patch)
tree7bf91a50a8c0d1b73c7fc6942f07f2cb8bc9a2e4
parent3751bce2a9be5e6c98a13e3a977f91888c83c226 (diff)
downloadbcm5719-llvm-34620a8e4f4ac5f035320e910ef763de6da0edd9.tar.gz
bcm5719-llvm-34620a8e4f4ac5f035320e910ef763de6da0edd9.zip
[Sanitizer] Use internal_memmove instead of the one implicitly generated by compiler.
llvm-svn: 246198
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_common.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common.cc b/compiler-rt/lib/sanitizer_common/sanitizer_common.cc
index 4ffa5b8be48..013952c0ad6 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common.cc
@@ -121,8 +121,9 @@ bool AddDieCallback(DieCallbackType callback) {
bool RemoveDieCallback(DieCallbackType callback) {
for (int i = 0; i < kMaxNumOfInternalDieCallbacks; i++) {
if (InternalDieCallbacks[i] == callback) {
- for (int j = i + 1; j < kMaxNumOfInternalDieCallbacks; j++)
- InternalDieCallbacks[j - 1] = InternalDieCallbacks[j];
+ internal_memmove(&InternalDieCallbacks[i], &InternalDieCallbacks[i + 1],
+ sizeof(InternalDieCallbacks[0]) *
+ (kMaxNumOfInternalDieCallbacks - i - 1));
InternalDieCallbacks[kMaxNumOfInternalDieCallbacks - 1] = nullptr;
return true;
}
OpenPOWER on IntegriCloud