Fixed building without HAVE_LIBC on Windows
Fixes https://github.com/libsdl-org/SDL/issues/9064
This commit is contained in:
@@ -81,7 +81,7 @@ void *SDL_memcpy(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void
|
|||||||
|
|
||||||
/* The optimizer on Visual Studio 2005 and later generates memcpy() and memset() calls.
|
/* The optimizer on Visual Studio 2005 and later generates memcpy() and memset() calls.
|
||||||
We will provide our own implementation if we're not building with a C runtime. */
|
We will provide our own implementation if we're not building with a C runtime. */
|
||||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(_MT)
|
#ifndef HAVE_LIBC
|
||||||
/* NOLINTNEXTLINE(readability-redundant-declaration) */
|
/* NOLINTNEXTLINE(readability-redundant-declaration) */
|
||||||
extern void *memcpy(void *dst, const void *src, size_t len);
|
extern void *memcpy(void *dst, const void *src, size_t len);
|
||||||
#ifndef __INTEL_LLVM_COMPILER
|
#ifndef __INTEL_LLVM_COMPILER
|
||||||
@@ -96,4 +96,4 @@ void *memcpy(void *dst, const void *src, size_t len)
|
|||||||
{
|
{
|
||||||
return SDL_memcpy(dst, src, len);
|
return SDL_memcpy(dst, src, len);
|
||||||
}
|
}
|
||||||
#endif /* (_MSC_VER >= 1400) && !defined(_MT) */
|
#endif /* !HAVE_LIBC */
|
||||||
|
|||||||
@@ -53,3 +53,21 @@ void *SDL_memmove(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void
|
|||||||
#endif /* HAVE_MEMMOVE */
|
#endif /* HAVE_MEMMOVE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef HAVE_LIBC
|
||||||
|
/* NOLINTNEXTLINE(readability-redundant-declaration) */
|
||||||
|
extern void *memmove(void *dst, const void *src, size_t len);
|
||||||
|
#ifndef __INTEL_LLVM_COMPILER
|
||||||
|
#pragma intrinsic(memmove)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __clang__
|
||||||
|
#pragma function(memmove)
|
||||||
|
#endif
|
||||||
|
/* NOLINTNEXTLINE(readability-inconsistent-declaration-parameter-name) */
|
||||||
|
void *memmove(void *dst, const void *src, size_t len)
|
||||||
|
{
|
||||||
|
return SDL_memmove(dst, src, len);
|
||||||
|
}
|
||||||
|
#endif /* !HAVE_LIBC */
|
||||||
|
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ void *SDL_memset4(void *dst, Uint32 val, size_t dwords)
|
|||||||
|
|
||||||
/* The optimizer on Visual Studio 2005 and later generates memcpy() and memset() calls.
|
/* The optimizer on Visual Studio 2005 and later generates memcpy() and memset() calls.
|
||||||
We will provide our own implementation if we're not building with a C runtime. */
|
We will provide our own implementation if we're not building with a C runtime. */
|
||||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(_MT)
|
#ifndef HAVE_LIBC
|
||||||
/* NOLINTNEXTLINE(readability-redundant-declaration) */
|
/* NOLINTNEXTLINE(readability-redundant-declaration) */
|
||||||
extern void *memset(void *dst, int c, size_t len);
|
extern void *memset(void *dst, int c, size_t len);
|
||||||
#ifndef __INTEL_LLVM_COMPILER
|
#ifndef __INTEL_LLVM_COMPILER
|
||||||
@@ -133,5 +133,5 @@ void *memset(void *dst, int c, size_t len)
|
|||||||
{
|
{
|
||||||
return SDL_memset(dst, c, len);
|
return SDL_memset(dst, c, len);
|
||||||
}
|
}
|
||||||
#endif /* (_MSC_VER >= 1400) && !defined(_MT) */
|
#endif /* !HAVE_LIBC */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user