patch 8.2.0271: the "num64" feature is available everywhere
Problem: The "num64" feature is available everywhere and building without
it causes problems.
Solution: Graduage the "num64" feature. (James McCoy, closes #5650)
diff --git a/src/structs.h b/src/structs.h
index 7aff8af..823dfda 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1245,42 +1245,33 @@
typedef long_u hash_T; // Type for hi_hash
-#ifdef FEAT_NUM64
// Use 64-bit Number.
-# ifdef MSWIN
-# ifdef PROTO
-typedef long varnumber_T;
-typedef unsigned long uvarnumber_T;
-# define VARNUM_MIN LONG_MIN
-# define VARNUM_MAX LONG_MAX
-# define UVARNUM_MAX ULONG_MAX
-# else
-typedef __int64 varnumber_T;
-typedef unsigned __int64 uvarnumber_T;
-# define VARNUM_MIN _I64_MIN
-# define VARNUM_MAX _I64_MAX
-# define UVARNUM_MAX _UI64_MAX
-# endif
-# elif defined(HAVE_STDINT_H)
-typedef int64_t varnumber_T;
-typedef uint64_t uvarnumber_T;
-# define VARNUM_MIN INT64_MIN
-# define VARNUM_MAX INT64_MAX
-# define UVARNUM_MAX UINT64_MAX
-# else
+#ifdef MSWIN
+# ifdef PROTO
typedef long varnumber_T;
typedef unsigned long uvarnumber_T;
# define VARNUM_MIN LONG_MIN
# define VARNUM_MAX LONG_MAX
# define UVARNUM_MAX ULONG_MAX
+# else
+typedef __int64 varnumber_T;
+typedef unsigned __int64 uvarnumber_T;
+# define VARNUM_MIN _I64_MIN
+# define VARNUM_MAX _I64_MAX
+# define UVARNUM_MAX _UI64_MAX
# endif
+#elif defined(HAVE_STDINT_H)
+typedef int64_t varnumber_T;
+typedef uint64_t uvarnumber_T;
+# define VARNUM_MIN INT64_MIN
+# define VARNUM_MAX INT64_MAX
+# define UVARNUM_MAX UINT64_MAX
#else
-// Use 32-bit Number.
-typedef int varnumber_T;
-typedef unsigned int uvarnumber_T;
-# define VARNUM_MIN INT_MIN
-# define VARNUM_MAX INT_MAX
-# define UVARNUM_MAX UINT_MAX
+typedef long varnumber_T;
+typedef unsigned long uvarnumber_T;
+# define VARNUM_MIN LONG_MIN
+# define VARNUM_MAX LONG_MAX
+# define UVARNUM_MAX ULONG_MAX
#endif
typedef double float_T;