Mercurial > vim
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; |