Index: src/3rdparty/squirrel/include/squirrel.h =================================================================== --- src/3rdparty/squirrel/include/squirrel.h (revision 22273) +++ src/3rdparty/squirrel/include/squirrel.h (working copy) @@ -54,6 +55,10 @@ typedef __int64 SQInteger; typedef unsigned __int64 SQUnsignedInteger; typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/ +#elif defined(_WIN32) +typedef long long SQInteger; +typedef unsigned long long SQUnsignedInteger; +typedef unsigned long long SQHash; /*should be the same size of a pointer*/ #else typedef long SQInteger; typedef unsigned long SQUnsignedInteger; @@ -77,6 +82,8 @@ #if defined(SQUSEDOUBLE) && !defined(_SQ64) #ifdef _MSC_VER typedef __int64 SQRawObjectVal; //must be 64bits +elif defined(_WIN32) +typedef long long SQRawObjectVal; //must be 64bits #else typedef long SQRawObjectVal; //must be 64bits #endif Index: src/os/windows/crashlog_win.cpp =================================================================== --- src/os/windows/crashlog_win.cpp (revision 22273) +++ src/os/windows/crashlog_win.cpp (working copy) @@ -548,8 +548,8 @@ /* static */ void CrashLog::InitialiseCrashLog() { -#if defined(_MSC_VER) #ifdef _M_AMD64 CONTEXT ctx; RtlCaptureContext(&ctx); @@ -559,13 +559,14 @@ * alignment would be wrong in the called function. */ _safe_esp = (void *)(ctx.Rsp - 8); #else +#if defined(_MSC_VER) _asm { mov _safe_esp, esp } -#endif #else asm("movl %esp, __safe_esp"); #endif +#endif /* SIGABRT is not an unhandled exception, so we need to intercept it. */ signal(SIGABRT, CustomAbort); Index: src/settings.cpp =================================================================== --- src/settings.cpp (revision 22273) +++ src/settings.cpp (working copy) @@ -571,15 +575,15 @@ break; case SLE_VAR_I8: case SLE_VAR_U8: - if (*(byte*)ptr == (byte)(unsigned long)p) continue; + if (*(byte*)ptr == (byte)(size_t)p) continue; break; case SLE_VAR_I16: case SLE_VAR_U16: - if (*(uint16*)ptr == (uint16)(unsigned long)p) continue; + if (*(uint16*)ptr == (uint16)(size_t)p) continue; break; case SLE_VAR_I32: case SLE_VAR_U32: - if (*(uint32*)ptr == (uint32)(unsigned long)p) continue; + if (*(uint32*)ptr == (uint32)(size_t)p) continue; break; default: NOT_REACHED(); }