diff options
Diffstat (limited to 'src/structs.h')
-rw-r--r-- | src/structs.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/structs.h b/src/structs.h index e4d365198..9d19c3c89 100644 --- a/src/structs.h +++ b/src/structs.h @@ -1111,11 +1111,29 @@ typedef struct hashtable_S typedef long_u hash_T; /* Type for hi_hash */ -#if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ -typedef long varnumber_T; +#ifdef FEAT_NUM64 +/* Use 64-bit Number. */ +# ifdef WIN3264 +typedef __int64 varnumber_T; +typedef unsigned __int64 uvarnumber_T; +# elif defined(HAVE_STDINT_H) +typedef int64_t varnumber_T; +typedef uint64_t uvarnumber_T; +# else +typedef long varnumber_T; +typedef unsigned long uvarnumber_T; +# endif #else -typedef int varnumber_T; +/* Use 32-bit Number. */ +# if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ +typedef long varnumber_T; +typedef unsigned long uvarnumber_T; +# else +typedef int varnumber_T; +typedef unsigned int uvarnumber_T; +# endif #endif + typedef double float_T; typedef struct listvar_S list_T; |