broken by r13429 that duplicated unportable portability code.
GCC exits with errors: integer constant is too large for 'long' type
nnnL constants are "long" and cannot hold 64bit integers on 32bit platforms.
Use LL suffix for 64bit constants for now. It remains to be seen how portable
that LL C++ extension is: https://gcc.gnu.org/onlinedocs/gcc/Long-Long.html
Also fixed INT64_MIN #define (missing parenthesis).
#define INT64_MIN LONG_MIN
#else
/* 32 bit system */
-#define INT64_MIN -9223372036854775807L-1L
+#define INT64_MIN (-9223372036854775807LL-1LL)
#endif
#endif
#define INT64_MAX LONG_MAX
#else
/* 32 bit system */
-#define INT64_MAX 9223372036854775807L
+#define INT64_MAX 9223372036854775807LL
#endif
#endif
#define INT64_MIN LONG_MIN
#else
/* 32 bit system */
-#define INT64_MIN -9223372036854775807L-1L
+#define INT64_MIN (-9223372036854775807LL-1LL)
#endif
#endif
#define INT64_MAX LONG_MAX
#else
/* 32 bit system */
-#define INT64_MAX 9223372036854775807L
+#define INT64_MAX 9223372036854775807LL
#endif
#endif