From 80fe60df02b89cde78e1a4d99dc76745faee0204 Mon Sep 17 00:00:00 2001 From: Richard Brooksby Date: Mon, 30 Apr 2012 14:33:00 +0100 Subject: Added w3i6mv platform and fixed types of arguments to windows api functions for 64-bit. Copied from Perforce Change: 178063 ServerID: perforce.ravenbrook.com --- mps/code/mpstd.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'mps/code/mpstd.h') diff --git a/mps/code/mpstd.h b/mps/code/mpstd.h index c7360ed942c..eb7021c4ba0 100644 --- a/mps/code/mpstd.h +++ b/mps/code/mpstd.h @@ -149,6 +149,30 @@ #define MPS_WORD_SHIFT 5 #define MPS_PF_ALIGN 8 + +/* Duplicated from W3I3MV, then... @@@@ + * "Predefined Macros" from "Visual Studio 2010" on MSDN + * . + * Note that Win32 includes 64-bit Windows! + */ + +#elif defined(_MSC_VER) && defined(_WIN32) && defined(_WIN64) && defined(_M_X64) +#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_W3I6MV) +#error "specified CONFIG_PF_... inconsistent with detected w3i6mv" +#endif +#define MPS_PF_W3I6MV +#define MPS_PF_STRING "w3i6mv" +#define MPS_OS_W3 +#define MPS_ARCH_I6 +#define MPS_BUILD_MV +#define MPS_T_WORD unsigned __int64 +#define MPS_T_LONGEST __int64 +#define MPS_T_ULONGEST unsigned __int64 +#define MPS_WORD_WIDTH 64 +#define MPS_WORD_SHIFT 6 +#define MPS_PF_ALIGN 16 /* @@@@ ref? */ + + /* MW C/C++/ASM Lang Ref (CW9), pp. 184-186. Metrowerks does not document * a way to determine the OS -- we assume MacOS 7. */ @@ -265,6 +289,23 @@ #define MPS_WORD_SHIFT 5 #define MPS_PF_ALIGN 4 /* I'm just guessing. */ +/* @@@@ fill in */ + +#elif defined(__APPLE__) && defined(__x86_64__) && defined(__MACH__) \ + && defined(__GNUC__) +#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_XCI6GC) +#error "specified CONFIG_PF_... inconsistent with detected xci6gc" +#endif +#define MPS_PF_XCI6GC +#define MPS_PF_STRING "xci6gc" +#define MPS_OS_XC +#define MPS_ARCH_I6 +#define MPS_BUILD_GC +#define MPS_T_WORD unsigned long +#define MPS_WORD_WIDTH 64 +#define MPS_WORD_SHIFT 6 +#define MPS_PF_ALIGN 8 /* I'm just guessing. */ + /* GCC 2.5.8, gcc -E -dM, (__SVR4 indicates Solaris) */ #elif defined(__sun__) && defined(__sparc__) && defined(__GNUC__) \ -- cgit v1.2.1