# define __int32 int
# endif
# ifndef __int64
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
#endif
#if !defined(_MSC_VER) && !defined(__int64)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW64__)
# define __int64 long
# else
# define __int64 long long
/* Calling conventions definitions */
-#if defined(__i386__) && !defined(_X86_)
-# define _X86_
-#endif
-
-#if defined(_X86_) && !defined(__i386__)
-# define __i386__
-#endif
-
#if defined(__x86_64__) && !defined(_WIN64)
#define _WIN64
#endif
+#ifndef _WIN64
+# if defined(__i386__) && !defined(_X86_)
+# define _X86_
+# endif
+# if defined(_X86_) && !defined(__i386__)
+# define __i386__
+# endif
+#endif
+
#ifndef __stdcall
# ifdef __i386__
# ifdef __GNUC__