fix: fix signature of `memcpy`
The signature of `memcpy` should specify that the `dst` and `src`
pointers are `restrict` (i.e. they do not alias each other).
Note that the `dst` and `src` pointers to `memcpy_s` are not `restrict`,
because they may alias (in which case it panics).
Change-Id: Ic402487b231fddf73269c96ee5eb0809325d5d9b
Signed-off-by: Karl Meakin <karl.meakin@arm.com>
diff --git a/src/arch/aarch64/std.c b/src/arch/aarch64/std.c
index 65375e4..7bb5acd 100644
--- a/src/arch/aarch64/std.c
+++ b/src/arch/aarch64/std.c
@@ -19,7 +19,7 @@
return s;
}
-void *memcpy(void *dst, const void *src, size_t n)
+void *memcpy(void *restrict dst, const void *restrict src, size_t n)
{
char *x = dst;
const char *y = src;
diff --git a/src/std.c b/src/std.c
index 1569c04..925f6ce 100644
--- a/src/std.c
+++ b/src/std.c
@@ -12,7 +12,7 @@
/* Declare unsafe functions locally so they are not available globally. */
void *memset(void *s, int c, size_t n);
-void *memcpy(void *dst, const void *src, size_t n);
+void *memcpy(void *restrict dst, const void *src, size_t n);
void *memmove(void *dst, const void *src, size_t n);
void memset_s(void *dest, rsize_t destsz, int ch, rsize_t count)