mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-30 06:58:30 +00:00
remove watcom compiler support from private sources
This commit is contained in:
@@ -845,9 +845,7 @@ SDL_Sandbox SDL_GetSandbox(void)
|
|||||||
|
|
||||||
#ifdef SDL_PLATFORM_WIN32
|
#ifdef SDL_PLATFORM_WIN32
|
||||||
|
|
||||||
#if (!defined(HAVE_LIBC) || defined(__WATCOMC__)) && !defined(SDL_STATIC_LIB)
|
#if !defined(HAVE_LIBC) && !defined(SDL_STATIC_LIB)
|
||||||
// FIXME: Still need to include DllMain() on Watcom C ?
|
|
||||||
|
|
||||||
BOOL APIENTRY MINGW32_FORCEALIGN _DllMainCRTStartup(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
BOOL APIENTRY MINGW32_FORCEALIGN _DllMainCRTStartup(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
||||||
{
|
{
|
||||||
switch (ul_reason_for_call) {
|
switch (ul_reason_for_call) {
|
||||||
|
@@ -120,10 +120,6 @@ static void SDL_GenerateAssertionReport(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WATCOMC__
|
|
||||||
static void SDL_AbortAssertion(void);
|
|
||||||
#pragma aux SDL_AbortAssertion aborts;
|
|
||||||
#endif
|
|
||||||
static SDL_NORETURN void SDL_AbortAssertion(void)
|
static SDL_NORETURN void SDL_AbortAssertion(void)
|
||||||
{
|
{
|
||||||
SDL_Quit();
|
SDL_Quit();
|
||||||
|
@@ -269,10 +269,6 @@ extern "C" {
|
|||||||
/* SDL_ExitProcess is not declared in any public header, although
|
/* SDL_ExitProcess is not declared in any public header, although
|
||||||
it is shared between some parts of SDL, because we don't want
|
it is shared between some parts of SDL, because we don't want
|
||||||
anything calling it without an extremely good reason. */
|
anything calling it without an extremely good reason. */
|
||||||
#ifdef __WATCOMC__
|
|
||||||
extern void SDL_ExitProcess(int exitcode);
|
|
||||||
#pragma aux SDL_ExitProcess aborts;
|
|
||||||
#endif
|
|
||||||
extern SDL_NORETURN void SDL_ExitProcess(int exitcode);
|
extern SDL_NORETURN void SDL_ExitProcess(int exitcode);
|
||||||
|
|
||||||
#ifdef HAVE_LIBC
|
#ifdef HAVE_LIBC
|
||||||
|
@@ -48,35 +48,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* *INDENT-OFF* */ // clang-format off
|
|
||||||
#if defined(__WATCOMC__) && defined(__386__)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(intsize, 4==sizeof(int));
|
|
||||||
#define HAVE_WATCOM_ATOMICS
|
|
||||||
extern __inline int _SDL_xchg_watcom(volatile int *a, int v);
|
|
||||||
#pragma aux _SDL_xchg_watcom = \
|
|
||||||
"lock xchg [ecx], eax" \
|
|
||||||
parm [ecx] [eax] \
|
|
||||||
value [eax] \
|
|
||||||
modify exact [eax];
|
|
||||||
|
|
||||||
extern __inline unsigned char _SDL_cmpxchg_watcom(volatile int *a, int newval, int oldval);
|
|
||||||
#pragma aux _SDL_cmpxchg_watcom = \
|
|
||||||
"lock cmpxchg [edx], ecx" \
|
|
||||||
"setz al" \
|
|
||||||
parm [edx] [ecx] [eax] \
|
|
||||||
value [al] \
|
|
||||||
modify exact [eax];
|
|
||||||
|
|
||||||
extern __inline int _SDL_xadd_watcom(volatile int *a, int v);
|
|
||||||
#pragma aux _SDL_xadd_watcom = \
|
|
||||||
"lock xadd [ecx], eax" \
|
|
||||||
parm [ecx] [eax] \
|
|
||||||
value [eax] \
|
|
||||||
modify exact [eax];
|
|
||||||
|
|
||||||
#endif // __WATCOMC__ && __386__
|
|
||||||
/* *INDENT-ON* */ // clang-format on
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If any of the operations are not provided then we must emulate some
|
If any of the operations are not provided then we must emulate some
|
||||||
of them. That means we need a nice implementation of spin locks
|
of them. That means we need a nice implementation of spin locks
|
||||||
@@ -100,7 +71,7 @@ extern __inline int _SDL_xadd_watcom(volatile int *a, int v);
|
|||||||
Contributed by Bob Pendleton, bob@pendleton.com
|
Contributed by Bob Pendleton, bob@pendleton.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(HAVE_MSC_ATOMICS) && !defined(HAVE_GCC_ATOMICS) && !defined(SDL_PLATFORM_MACOS) && !defined(SDL_PLATFORM_SOLARIS) && !defined(HAVE_WATCOM_ATOMICS)
|
#if !defined(HAVE_MSC_ATOMICS) && !defined(HAVE_GCC_ATOMICS) && !defined(SDL_PLATFORM_MACOS) && !defined(SDL_PLATFORM_SOLARIS)
|
||||||
#define EMULATE_CAS 1
|
#define EMULATE_CAS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -127,8 +98,6 @@ bool SDL_CompareAndSwapAtomicInt(SDL_AtomicInt *a, int oldval, int newval)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_cas, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_cas, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedCompareExchange((long *)&a->value, (long)newval, (long)oldval) == (long)oldval;
|
return _InterlockedCompareExchange((long *)&a->value, (long)newval, (long)oldval) == (long)oldval;
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return _SDL_cmpxchg_watcom((volatile int *)&a->value, newval, oldval);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_bool_compare_and_swap(&a->value, oldval, newval);
|
return __sync_bool_compare_and_swap(&a->value, oldval, newval);
|
||||||
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
||||||
@@ -157,9 +126,6 @@ bool SDL_CompareAndSwapAtomicU32(SDL_AtomicU32 *a, Uint32 oldval, Uint32 newval)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_cas, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_cas, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedCompareExchange((long *)&a->value, (long)newval, (long)oldval) == (long)oldval;
|
return _InterlockedCompareExchange((long *)&a->value, (long)newval, (long)oldval) == (long)oldval;
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_cas, sizeof(int) == sizeof(a->value));
|
|
||||||
return _SDL_cmpxchg_watcom((volatile int *)&a->value, (int)newval, (int)oldval);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_bool_compare_and_swap(&a->value, oldval, newval);
|
return __sync_bool_compare_and_swap(&a->value, oldval, newval);
|
||||||
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
||||||
@@ -187,8 +153,6 @@ bool SDL_CompareAndSwapAtomicPointer(void **a, void *oldval, void *newval)
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
return _InterlockedCompareExchangePointer(a, newval, oldval) == oldval;
|
return _InterlockedCompareExchangePointer(a, newval, oldval) == oldval;
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return _SDL_cmpxchg_watcom((int *)a, (long)newval, (long)oldval);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_bool_compare_and_swap(a, oldval, newval);
|
return __sync_bool_compare_and_swap(a, oldval, newval);
|
||||||
#elif defined(SDL_PLATFORM_MACOS) && defined(__LP64__) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
#elif defined(SDL_PLATFORM_MACOS) && defined(__LP64__) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
||||||
@@ -218,8 +182,6 @@ int SDL_SetAtomicInt(SDL_AtomicInt *a, int v)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_set, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_set, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedExchange((long *)&a->value, v);
|
return _InterlockedExchange((long *)&a->value, v);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return _SDL_xchg_watcom(&a->value, v);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_lock_test_and_set(&a->value, v);
|
return __sync_lock_test_and_set(&a->value, v);
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
@@ -239,8 +201,6 @@ Uint32 SDL_SetAtomicU32(SDL_AtomicU32 *a, Uint32 v)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_set, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_set, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedExchange((long *)&a->value, v);
|
return _InterlockedExchange((long *)&a->value, v);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return _SDL_xchg_watcom(&a->value, v);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_lock_test_and_set(&a->value, v);
|
return __sync_lock_test_and_set(&a->value, v);
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
@@ -259,8 +219,6 @@ void *SDL_SetAtomicPointer(void **a, void *v)
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
return _InterlockedExchangePointer(a, v);
|
return _InterlockedExchangePointer(a, v);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return (void *)_SDL_xchg_watcom((int *)a, (long)v);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_lock_test_and_set(a, v);
|
return __sync_lock_test_and_set(a, v);
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
@@ -279,9 +237,6 @@ int SDL_AddAtomicInt(SDL_AtomicInt *a, int v)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedExchangeAdd((long *)&a->value, v);
|
return _InterlockedExchangeAdd((long *)&a->value, v);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(int) == sizeof(a->value));
|
|
||||||
return _SDL_xadd_watcom((volatile int *)&a->value, v);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_fetch_and_add(&a->value, v);
|
return __sync_fetch_and_add(&a->value, v);
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
@@ -303,9 +258,6 @@ Uint32 SDL_AddAtomicU32(SDL_AtomicU32 *a, int v)
|
|||||||
#ifdef HAVE_MSC_ATOMICS
|
#ifdef HAVE_MSC_ATOMICS
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(long) == sizeof(a->value));
|
||||||
return (Uint32)_InterlockedExchangeAdd((long *)&a->value, v);
|
return (Uint32)_InterlockedExchangeAdd((long *)&a->value, v);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_add, sizeof(int) == sizeof(a->value));
|
|
||||||
return (Uint32)_SDL_xadd_watcom((volatile int *)&a->value, v);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_fetch_and_add(&a->value, v);
|
return __sync_fetch_and_add(&a->value, v);
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
@@ -329,8 +281,6 @@ int SDL_GetAtomicInt(SDL_AtomicInt *a)
|
|||||||
#elif defined(HAVE_MSC_ATOMICS)
|
#elif defined(HAVE_MSC_ATOMICS)
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_get, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_get, sizeof(long) == sizeof(a->value));
|
||||||
return _InterlockedOr((long *)&a->value, 0);
|
return _InterlockedOr((long *)&a->value, 0);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
return _SDL_xadd_watcom(&a->value, 0);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_or_and_fetch(&a->value, 0);
|
return __sync_or_and_fetch(&a->value, 0);
|
||||||
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
||||||
@@ -353,9 +303,6 @@ Uint32 SDL_GetAtomicU32(SDL_AtomicU32 *a)
|
|||||||
#elif defined(HAVE_MSC_ATOMICS)
|
#elif defined(HAVE_MSC_ATOMICS)
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_get, sizeof(long) == sizeof(a->value));
|
SDL_COMPILE_TIME_ASSERT(atomic_get, sizeof(long) == sizeof(a->value));
|
||||||
return (Uint32)_InterlockedOr((long *)&a->value, 0);
|
return (Uint32)_InterlockedOr((long *)&a->value, 0);
|
||||||
#elif defined(HAVE_WATCOM_ATOMICS)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(atomic_get, sizeof(int) == sizeof(a->value));
|
|
||||||
return (Uint32)_SDL_xadd_watcom((volatile int *)&a->value, 0);
|
|
||||||
#elif defined(HAVE_GCC_ATOMICS)
|
#elif defined(HAVE_GCC_ATOMICS)
|
||||||
return __sync_or_and_fetch(&a->value, 0);
|
return __sync_or_and_fetch(&a->value, 0);
|
||||||
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
#elif defined(SDL_PLATFORM_MACOS) // this is deprecated in 10.12 sdk; favor gcc atomics.
|
||||||
|
@@ -44,18 +44,6 @@
|
|||||||
#include <libkern/OSAtomic.h>
|
#include <libkern/OSAtomic.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* *INDENT-OFF* */ // clang-format off
|
|
||||||
#if defined(__WATCOMC__) && defined(__386__)
|
|
||||||
SDL_COMPILE_TIME_ASSERT(locksize, 4==sizeof(SDL_SpinLock));
|
|
||||||
extern __inline int _SDL_xchg_watcom(volatile int *a, int v);
|
|
||||||
#pragma aux _SDL_xchg_watcom = \
|
|
||||||
"lock xchg [ecx], eax" \
|
|
||||||
parm [ecx] [eax] \
|
|
||||||
value [eax] \
|
|
||||||
modify exact [eax];
|
|
||||||
#endif // __WATCOMC__ && __386__
|
|
||||||
/* *INDENT-ON* */ // clang-format on
|
|
||||||
|
|
||||||
// This function is where all the magic happens...
|
// This function is where all the magic happens...
|
||||||
bool SDL_TryLockSpinlock(SDL_SpinLock *lock)
|
bool SDL_TryLockSpinlock(SDL_SpinLock *lock)
|
||||||
{
|
{
|
||||||
@@ -69,9 +57,6 @@ bool SDL_TryLockSpinlock(SDL_SpinLock *lock)
|
|||||||
SDL_COMPILE_TIME_ASSERT(locksize, sizeof(*lock) == sizeof(long));
|
SDL_COMPILE_TIME_ASSERT(locksize, sizeof(*lock) == sizeof(long));
|
||||||
return InterlockedExchange((long *)lock, 1) == 0;
|
return InterlockedExchange((long *)lock, 1) == 0;
|
||||||
|
|
||||||
#elif defined(__WATCOMC__) && defined(__386__)
|
|
||||||
return _SDL_xchg_watcom(lock, 1) == 0;
|
|
||||||
|
|
||||||
#elif defined(__GNUC__) && defined(__arm__) && \
|
#elif defined(__GNUC__) && defined(__arm__) && \
|
||||||
(defined(__ARM_ARCH_3__) || defined(__ARM_ARCH_3M__) || \
|
(defined(__ARM_ARCH_3__) || defined(__ARM_ARCH_3M__) || \
|
||||||
defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) || \
|
defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) || \
|
||||||
@@ -188,10 +173,6 @@ void SDL_UnlockSpinlock(SDL_SpinLock *lock)
|
|||||||
_ReadWriteBarrier();
|
_ReadWriteBarrier();
|
||||||
*lock = 0;
|
*lock = 0;
|
||||||
|
|
||||||
#elif defined(__WATCOMC__) && defined(__386__)
|
|
||||||
SDL_CompilerBarrier();
|
|
||||||
*lock = 0;
|
|
||||||
|
|
||||||
#elif defined(SDL_PLATFORM_SOLARIS)
|
#elif defined(SDL_PLATFORM_SOLARIS)
|
||||||
// Used for Solaris when not using gcc.
|
// Used for Solaris when not using gcc.
|
||||||
*lock = 0;
|
*lock = 0;
|
||||||
|
@@ -174,7 +174,7 @@ static int CPU_haveCPUID(void)
|
|||||||
:
|
:
|
||||||
: "%rax", "%rcx"
|
: "%rax", "%rcx"
|
||||||
);
|
);
|
||||||
#elif (defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)
|
#elif defined(_MSC_VER) && defined(_M_IX86)
|
||||||
__asm {
|
__asm {
|
||||||
pushfd ; Get original EFLAGS
|
pushfd ; Get original EFLAGS
|
||||||
pop eax
|
pop eax
|
||||||
@@ -247,7 +247,7 @@ done:
|
|||||||
" popq %%rbx \n" \
|
" popq %%rbx \n" \
|
||||||
: "=a"(a), "=S"(b), "=c"(c), "=d"(d) \
|
: "=a"(a), "=S"(b), "=c"(c), "=d"(d) \
|
||||||
: "a"(func))
|
: "a"(func))
|
||||||
#elif (defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)
|
#elif defined(_MSC_VER) && defined(_M_IX86)
|
||||||
#define cpuid(func, a, b, c, d) \
|
#define cpuid(func, a, b, c, d) \
|
||||||
__asm { \
|
__asm { \
|
||||||
__asm mov eax, func \
|
__asm mov eax, func \
|
||||||
@@ -311,7 +311,7 @@ static void CPU_calcCPUIDFeatures(void)
|
|||||||
: "%edx");
|
: "%edx");
|
||||||
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) && (_MSC_FULL_VER >= 160040219) // VS2010 SP1
|
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) && (_MSC_FULL_VER >= 160040219) // VS2010 SP1
|
||||||
a = (int)_xgetbv(0);
|
a = (int)_xgetbv(0);
|
||||||
#elif (defined(_MSC_VER) && defined(_M_IX86)) || defined(__WATCOMC__)
|
#elif defined(_MSC_VER) && defined(_M_IX86)
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
|
@@ -86,7 +86,7 @@ static void SDL_InitDynamicAPI(void);
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define SDL_DYNAPI_VARARGS(_static, name, initcall) \
|
#define SDL_DYNAPI_VARARGS(_static, name, initcall) \
|
||||||
_static bool SDLCALL SDL_SetError##name(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
|
_static bool SDLCALL SDL_SetError##name(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
|
||||||
{ \
|
{ \
|
||||||
char buf[128], *str = buf; \
|
char buf[128], *str = buf; \
|
||||||
int result; \
|
int result; \
|
||||||
@@ -98,7 +98,7 @@ static void SDL_InitDynamicAPI(void);
|
|||||||
if (result >= 0 && (size_t)result >= sizeof(buf)) { \
|
if (result >= 0 && (size_t)result >= sizeof(buf)) { \
|
||||||
str = NULL; \
|
str = NULL; \
|
||||||
va_start(ap, fmt); \
|
va_start(ap, fmt); \
|
||||||
result = jump_table.SDL_vasprintf(&str, fmt, ap); \
|
result = jump_table.SDL_vasprintf(&str, fmt, ap); \
|
||||||
va_end(ap); \
|
va_end(ap); \
|
||||||
} \
|
} \
|
||||||
if (result >= 0) { \
|
if (result >= 0) { \
|
||||||
@@ -107,7 +107,7 @@ static void SDL_InitDynamicAPI(void);
|
|||||||
if (str != buf) { \
|
if (str != buf) { \
|
||||||
jump_table.SDL_free(str); \
|
jump_table.SDL_free(str); \
|
||||||
} \
|
} \
|
||||||
return false; \
|
return false; \
|
||||||
} \
|
} \
|
||||||
_static int SDLCALL SDL_sscanf##name(const char *buf, SDL_SCANF_FORMAT_STRING const char *fmt, ...) \
|
_static int SDLCALL SDL_sscanf##name(const char *buf, SDL_SCANF_FORMAT_STRING const char *fmt, ...) \
|
||||||
{ \
|
{ \
|
||||||
@@ -149,7 +149,7 @@ static void SDL_InitDynamicAPI(void);
|
|||||||
va_end(ap); \
|
va_end(ap); \
|
||||||
return result; \
|
return result; \
|
||||||
} \
|
} \
|
||||||
_static size_t SDLCALL SDL_IOprintf##name(SDL_IOStream *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
|
_static size_t SDLCALL SDL_IOprintf##name(SDL_IOStream *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) \
|
||||||
{ \
|
{ \
|
||||||
size_t result; \
|
size_t result; \
|
||||||
va_list ap; \
|
va_list ap; \
|
||||||
@@ -199,7 +199,7 @@ static void SDL_InitDynamicAPI(void);
|
|||||||
jump_table.SDL_LogMessageV(category, priority, fmt, ap); \
|
jump_table.SDL_LogMessageV(category, priority, fmt, ap); \
|
||||||
va_end(ap); \
|
va_end(ap); \
|
||||||
} \
|
} \
|
||||||
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Trace, TRACE) \
|
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Trace, TRACE) \
|
||||||
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Verbose, VERBOSE) \
|
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Verbose, VERBOSE) \
|
||||||
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Debug, DEBUG) \
|
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Debug, DEBUG) \
|
||||||
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Info, INFO) \
|
SDL_DYNAPI_VARARGS_LOGFN(_static, name, initcall, Info, INFO) \
|
||||||
@@ -500,9 +500,6 @@ static void dynapi_warn(const char *msg)
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
extern SDL_NORETURN void SDL_ExitProcess(int exitcode);
|
extern SDL_NORETURN void SDL_ExitProcess(int exitcode);
|
||||||
#ifdef __WATCOMC__
|
|
||||||
#pragma aux SDL_ExitProcess aborts;
|
|
||||||
#endif
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,10 +76,6 @@
|
|||||||
#include "math_libm.h"
|
#include "math_libm.h"
|
||||||
#include "math_private.h"
|
#include "math_private.h"
|
||||||
|
|
||||||
#ifdef __WATCOMC__ /* Watcom defines huge=__huge */
|
|
||||||
#undef huge
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const double
|
static const double
|
||||||
one = 1.0,
|
one = 1.0,
|
||||||
halF[2] = {0.5,-0.5,},
|
halF[2] = {0.5,-0.5,},
|
||||||
|
@@ -64,10 +64,6 @@
|
|||||||
#pragma warning ( disable : 4756 )
|
#pragma warning ( disable : 4756 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __WATCOMC__ /* Watcom defines huge=__huge */
|
|
||||||
#undef huge
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const double
|
static const double
|
||||||
bp[] = {1.0, 1.5,},
|
bp[] = {1.0, 1.5,},
|
||||||
dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
|
dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
|
||||||
|
@@ -61,10 +61,6 @@ static const double aT[] = {
|
|||||||
1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
|
1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __WATCOMC__ /* Watcom defines huge=__huge */
|
|
||||||
#undef huge
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const double
|
static const double
|
||||||
one = 1.0,
|
one = 1.0,
|
||||||
huge = 1.0e300;
|
huge = 1.0e300;
|
||||||
|
@@ -25,10 +25,6 @@
|
|||||||
#include "math_libm.h"
|
#include "math_libm.h"
|
||||||
#include "math_private.h"
|
#include "math_private.h"
|
||||||
|
|
||||||
#ifdef __WATCOMC__ /* Watcom defines huge=__huge */
|
|
||||||
#undef huge
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const double huge = 1.0e300;
|
static const double huge = 1.0e300;
|
||||||
|
|
||||||
double floor(double x)
|
double floor(double x)
|
||||||
|
@@ -21,10 +21,6 @@
|
|||||||
#include "math_private.h"
|
#include "math_private.h"
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#ifdef __WATCOMC__ /* Watcom defines huge=__huge */
|
|
||||||
#undef huge
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const double
|
static const double
|
||||||
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
|
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
|
||||||
twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
|
twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
|
||||||
|
@@ -140,12 +140,6 @@ double SDL_copysign(double x, double y)
|
|||||||
return copysign(x, y);
|
return copysign(x, y);
|
||||||
#elif defined(HAVE__COPYSIGN)
|
#elif defined(HAVE__COPYSIGN)
|
||||||
return _copysign(x, y);
|
return _copysign(x, y);
|
||||||
#elif defined(__WATCOMC__) && defined(__386__)
|
|
||||||
// this is nasty as hell, but it works..
|
|
||||||
unsigned int *xi = (unsigned int *)&x,
|
|
||||||
*yi = (unsigned int *)&y;
|
|
||||||
xi[1] = (yi[1] & 0x80000000) | (xi[1] & 0x7fffffff);
|
|
||||||
return x;
|
|
||||||
#else
|
#else
|
||||||
return SDL_uclibc_copysign(x, y);
|
return SDL_uclibc_copysign(x, y);
|
||||||
#endif // HAVE_COPYSIGN
|
#endif // HAVE_COPYSIGN
|
||||||
|
@@ -1830,24 +1830,7 @@ int SDL_swprintf(SDL_OUT_Z_CAP(maxlen) wchar_t *text, size_t maxlen, SDL_PRINTF_
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_LIBC) && defined(__WATCOMC__)
|
#if defined(HAVE_VSNPRINTF)
|
||||||
// _vsnprintf() doesn't ensure nul termination
|
|
||||||
int SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap)
|
|
||||||
{
|
|
||||||
int result;
|
|
||||||
if (!fmt) {
|
|
||||||
fmt = "";
|
|
||||||
}
|
|
||||||
result = _vsnprintf(text, maxlen, fmt, ap);
|
|
||||||
if (maxlen > 0) {
|
|
||||||
text[maxlen - 1] = '\0';
|
|
||||||
}
|
|
||||||
if (result < 0) {
|
|
||||||
result = (int)maxlen;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
#elif defined(HAVE_VSNPRINTF)
|
|
||||||
int SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap)
|
int SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap)
|
||||||
{
|
{
|
||||||
if (!fmt) {
|
if (!fmt) {
|
||||||
|
Reference in New Issue
Block a user