diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2015-08-27 20:07:28 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2015-08-27 20:07:28 +0000 |
commit | 34620a8e4f4ac5f035320e910ef763de6da0edd9 (patch) | |
tree | 7bf91a50a8c0d1b73c7fc6942f07f2cb8bc9a2e4 | |
parent | 3751bce2a9be5e6c98a13e3a977f91888c83c226 (diff) | |
download | bcm5719-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.cc | 5 |
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; } |