X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=common.h;h=f8a521affedc048a03d4bfb6dc448bde1b1ef6c8;hb=e6e38912837a4fe2464356408d10dee950b3121c;hp=9cb0cd966d01b30a39fdf2fa62378fdf9aa4b36e;hpb=829031aa78f85ced458ab253cdae852e01c751f2;p=xboard.git diff --git a/common.h b/common.h index 9cb0cd9..f8a521a 100644 --- a/common.h +++ b/common.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -112,6 +112,46 @@ typedef char *String; /* End compatibility grunge */ +/* unsigned int 64 for engine nodes work and display */ +#ifdef WIN32 + /* I don't know the name for this type of other compiler + * If it not work, just modify here + * This is for MS Visual Studio + */ + #ifdef _MSC_VER + #define u64 unsigned __int64 + #define s64 signed __int64 + #define u64Display "%I64u" + #define s64Display "%I64d" + #define u64Const(c) (c ## UI64) + #define s64Const(c) (c ## I64) + #else + /* place holder + * or dummy types for other compiler + * [HGM] seems that -mno-cygwin comple needs %I64? + */ + #define u64 unsigned long long + #define s64 signed long long + #ifdef USE_I64 + #define u64Display "%I64u" + #define s64Display "%I64d" + #else + #define u64Display "%llu" + #define s64Display "%lld" + #endif + #define u64Const(c) (c ## ULL) + #define s64Const(c) (c ## LL) + #endif +#else + /* GNU gcc */ + #define u64 unsigned long long + #define s64 signed long long + #define u64Display "%llu" + #define s64Display "%lld" + #define u64Const(c) (c ## ull) + #define s64Const(c) (c ## ll) +#endif + #define PROTOVER 2 /* engine protocol version */ // [HGM] license: Messages that engines must print to satisfy their license requirements for patented variants