Mercurial > vim
comparison src/structs.h @ 9389:32e34e574716 v7.4.1976
commit https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 1 18:17:26 2016 +0200
patch 7.4.1976
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 01 Jul 2016 18:30:07 +0200 |
parents | f094d4085014 |
children | 1003973c99df |
comparison
equal
deleted
inserted
replaced
9388:404ac7af0e7e | 9389:32e34e574716 |
---|---|
1109 } hashtab_T; | 1109 } hashtab_T; |
1110 | 1110 |
1111 typedef long_u hash_T; /* Type for hi_hash */ | 1111 typedef long_u hash_T; /* Type for hi_hash */ |
1112 | 1112 |
1113 | 1113 |
1114 #if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ | 1114 #ifdef FEAT_NUM64 |
1115 typedef long varnumber_T; | 1115 /* Use 64-bit Number. */ |
1116 # ifdef WIN3264 | |
1117 typedef __int64 varnumber_T; | |
1118 typedef unsigned __int64 uvarnumber_T; | |
1119 # elif defined(HAVE_STDINT_H) | |
1120 typedef int64_t varnumber_T; | |
1121 typedef uint64_t uvarnumber_T; | |
1122 # else | |
1123 typedef long varnumber_T; | |
1124 typedef unsigned long uvarnumber_T; | |
1125 # endif | |
1116 #else | 1126 #else |
1117 typedef int varnumber_T; | 1127 /* Use 32-bit Number. */ |
1118 #endif | 1128 # if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */ |
1129 typedef long varnumber_T; | |
1130 typedef unsigned long uvarnumber_T; | |
1131 # else | |
1132 typedef int varnumber_T; | |
1133 typedef unsigned int uvarnumber_T; | |
1134 # endif | |
1135 #endif | |
1136 | |
1119 typedef double float_T; | 1137 typedef double float_T; |
1120 | 1138 |
1121 typedef struct listvar_S list_T; | 1139 typedef struct listvar_S list_T; |
1122 typedef struct dictvar_S dict_T; | 1140 typedef struct dictvar_S dict_T; |
1123 typedef struct partial_S partial_T; | 1141 typedef struct partial_S partial_T; |