comparison src/structs.h @ 19427:fdfe44ac6a1a v8.2.0271

patch 8.2.0271: the "num64" feature is available everywhere Commit: https://github.com/vim/vim/commit/82f654e092ac5b86316bc1b30c0b07a849813186 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 17 22:12:50 2020 +0100 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)
author Bram Moolenaar <Bram@vim.org>
date Mon, 17 Feb 2020 22:15:07 +0100
parents e99e6d794597
children 2bb0e80fcd32
comparison
equal deleted inserted replaced
19426:23bd41ec57fb 19427:fdfe44ac6a1a
1243 } hashtab_T; 1243 } hashtab_T;
1244 1244
1245 typedef long_u hash_T; // Type for hi_hash 1245 typedef long_u hash_T; // Type for hi_hash
1246 1246
1247 1247
1248 #ifdef FEAT_NUM64
1249 // Use 64-bit Number. 1248 // Use 64-bit Number.
1250 # ifdef MSWIN 1249 #ifdef MSWIN
1251 # ifdef PROTO 1250 # ifdef PROTO
1252 typedef long varnumber_T;
1253 typedef unsigned long uvarnumber_T;
1254 # define VARNUM_MIN LONG_MIN
1255 # define VARNUM_MAX LONG_MAX
1256 # define UVARNUM_MAX ULONG_MAX
1257 # else
1258 typedef __int64 varnumber_T;
1259 typedef unsigned __int64 uvarnumber_T;
1260 # define VARNUM_MIN _I64_MIN
1261 # define VARNUM_MAX _I64_MAX
1262 # define UVARNUM_MAX _UI64_MAX
1263 # endif
1264 # elif defined(HAVE_STDINT_H)
1265 typedef int64_t varnumber_T;
1266 typedef uint64_t uvarnumber_T;
1267 # define VARNUM_MIN INT64_MIN
1268 # define VARNUM_MAX INT64_MAX
1269 # define UVARNUM_MAX UINT64_MAX
1270 # else
1271 typedef long varnumber_T; 1251 typedef long varnumber_T;
1272 typedef unsigned long uvarnumber_T; 1252 typedef unsigned long uvarnumber_T;
1273 # define VARNUM_MIN LONG_MIN 1253 # define VARNUM_MIN LONG_MIN
1274 # define VARNUM_MAX LONG_MAX 1254 # define VARNUM_MAX LONG_MAX
1275 # define UVARNUM_MAX ULONG_MAX 1255 # define UVARNUM_MAX ULONG_MAX
1256 # else
1257 typedef __int64 varnumber_T;
1258 typedef unsigned __int64 uvarnumber_T;
1259 # define VARNUM_MIN _I64_MIN
1260 # define VARNUM_MAX _I64_MAX
1261 # define UVARNUM_MAX _UI64_MAX
1276 # endif 1262 # endif
1263 #elif defined(HAVE_STDINT_H)
1264 typedef int64_t varnumber_T;
1265 typedef uint64_t uvarnumber_T;
1266 # define VARNUM_MIN INT64_MIN
1267 # define VARNUM_MAX INT64_MAX
1268 # define UVARNUM_MAX UINT64_MAX
1277 #else 1269 #else
1278 // Use 32-bit Number. 1270 typedef long varnumber_T;
1279 typedef int varnumber_T; 1271 typedef unsigned long uvarnumber_T;
1280 typedef unsigned int uvarnumber_T; 1272 # define VARNUM_MIN LONG_MIN
1281 # define VARNUM_MIN INT_MIN 1273 # define VARNUM_MAX LONG_MAX
1282 # define VARNUM_MAX INT_MAX 1274 # define UVARNUM_MAX ULONG_MAX
1283 # define UVARNUM_MAX UINT_MAX
1284 #endif 1275 #endif
1285 1276
1286 typedef double float_T; 1277 typedef double float_T;
1287 1278
1288 typedef struct listvar_S list_T; 1279 typedef struct listvar_S list_T;