Date: Mon, 28 Jun 2004 19:58:08 +0900
From: Hayashi Naoyuki
Subject: SDL_types.h - fix for Tru64 MME
The following two problems are fixed.
1. Type of Uint64 is "long long" in SDL_types.h,
but is "long" in mmbasic.h(Tru64 UNIX MME header file).
2. Uint8, Uint16 and Uint32 are redefined
if you compile a file including mmbasic.h and SDL_types.h.
--- a/include/SDL_types.h Sun Jul 18 19:36:06 2004 +0000
+++ b/include/SDL_types.h Sun Jul 18 19:42:03 2004 +0000
@@ -38,16 +38,26 @@
SDL_FALSE = 0,
SDL_TRUE = 1
} SDL_bool;
+
+#ifdef H_MMBASIC /* mmbasic.h (Tru64 MME) */
+/* Some of the basic types are already defined in mmbasic.h */
+typedef signed char Sint8;
+typedef signed short Sint16;
+typedef signed int Sint32;
+#else
typedef unsigned char Uint8;
typedef signed char Sint8;
typedef unsigned short Uint16;
typedef signed short Sint16;
typedef unsigned int Uint32;
typedef signed int Sint32;
+#endif
/* Figure out how to support 64-bit datatypes */
#if !defined(__STRICT_ANSI__)
-#if defined(__GNUC__) || defined(__MWERKS__) || defined(__SUNPRO_C) || defined(__DECC)
+#ifdef H_MMBASIC /* mmbasic.h (Tru64 MME) */
+#define SDL_HAS_64BIT_TYPE long
+#elif defined(__GNUC__) || defined(__MWERKS__) || defined(__SUNPRO_C) || defined(__DECC)
#define SDL_HAS_64BIT_TYPE long long
#elif defined(_MSC_VER) /* VC++ */
#define SDL_HAS_64BIT_TYPE __int64