diff --git a/Contrib/System/Source/System.c b/Contrib/System/Source/System.c index 4f93e3ff..c6182f15 100644 --- a/Contrib/System/Source/System.c +++ b/Contrib/System/Source/System.c @@ -501,6 +501,12 @@ SystemProc *PrepareProc(BOOL NeedForCall) // Types case 'v': case 'V': temp2 = PAT_VOID; break; + + #if !defined(SYSTEM_X86) + #error "TODO: handle p" + #else + case 'p': + #endif case 'i': case 'I': temp2 = PAT_INT; break; case 'l': diff --git a/Contrib/System/Source/System.h b/Contrib/System/Source/System.h index d4a23750..fa4ea8ef 100644 --- a/Contrib/System/Source/System.h +++ b/Contrib/System/Source/System.h @@ -1,6 +1,18 @@ #ifndef ___SYSTEM__H___ #define ___SYSTEM__H___ +// This should probably be moved to platform.h at some point + +#if defined(_M_X64) || defined(__amd64__) +# define SYSTEM_X64 +#elif defined(_M_IX86) || defined(__i386__) || defined(_X86_) +# define SYSTEM_X86 +#else +# error "Unknown architecture!" +#endif + + + // The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the SYSTEM_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project diff --git a/Contrib/System/System.html b/Contrib/System/System.html index 7898b4c5..8731fbbb 100644 --- a/Contrib/System/System.html +++ b/Contrib/System/System.html @@ -238,8 +238,12 @@ DetailPrint $4