summaryrefslogtreecommitdiff
path: root/libc/src/string/memset.cpp
diff options
context:
space:
mode:
authorGuillaume Chatelet <gchatelet@google.com>2020-05-15 14:27:35 +0000
committerGuillaume Chatelet <gchatelet@google.com>2020-05-20 06:35:13 +0000
commit6ca54e01146d91ca3ae3d72bf1cd988fca704630 (patch)
tree5f8241642b8b6e4b57935ad3ae724d8f1cdc7f7e /libc/src/string/memset.cpp
parente71c537a487cacaa00265e1acb765235943d5172 (diff)
[libc] Add memset and bzero implementations
Summary: This patch adds general purpose `memset` and `bzero` implementations. Reviewers: sivachandra, abrachet Subscribers: mgorny, tschuett, ecnelises, libc-commits, courbet Tags: #libc-project Differential Revision: https://reviews.llvm.org/D80010
Diffstat (limited to 'libc/src/string/memset.cpp')
-rw-r--r--libc/src/string/memset.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/libc/src/string/memset.cpp b/libc/src/string/memset.cpp
new file mode 100644
index 000000000000..cf1be5e42c6c
--- /dev/null
+++ b/libc/src/string/memset.cpp
@@ -0,0 +1,21 @@
+//===-- Implementation of memset ------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/string/memset.h"
+#include "src/__support/common.h"
+#include "src/string/memory_utils/memset_utils.h"
+
+namespace __llvm_libc {
+
+void *LLVM_LIBC_ENTRYPOINT(memset)(void *dst, int value, size_t count) {
+ GeneralPurposeMemset(reinterpret_cast<char *>(dst),
+ static_cast<unsigned char>(value), count);
+ return dst;
+}
+
+} // namespace __llvm_libc