64-bit constants need an ll, ull, i64, or ui64 suffix.
[xboard.git] / backend.h
index 244838d..f782f83 100644 (file)
--- a/backend.h
+++ b/backend.h
@@ -183,22 +183,31 @@ int ics_type;
         * This is for MS Visual Studio
         */
        #ifdef _MSC_VER
-               #define u64     unsigned __int64
+               #define u64 unsigned __int64
                #define s64 signed __int64
-               #define u64Display  "%I64u"
+               #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
                 */
-               #define u64     unsigned __int64
+               #define u64 unsigned __int64
                #define s64 signed __int64
-               #define u64Display  "%I64u"
+               #define u64Display "%I64u"
+               #define s64Display "%I64d"
+               #define u64Const(c) (c ## UI64)
+               #define s64Const(c) (c ## I64)
        #endif
 #else
        /* GNU gcc */
-       #define u64     unsigned long long
+       #define u64 unsigned long long
        #define s64 signed long long
-       #define u64Display  "%llu"
+       #define u64Display "%llu"
+       #define s64Display "%lld"
+       #define u64Const(c) (c ## ull)
+       #define s64Const(c) (c ## ll)
 #endif