diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-05-14 11:10:24 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-05-14 11:10:24 -0300 |
commit | 347d6961ac14213264c7176e3d125c9ba8475b01 (patch) | |
tree | 73ab74bac7bb0bed03a94b23d97acf400dde1346 /luaconf.h | |
parent | 0b63d79b36790febd4c081bf8d6737df27529f8d (diff) | |
download | lua-347d6961ac14213264c7176e3d125c9ba8475b01.tar.gz lua-347d6961ac14213264c7176e3d125c9ba8475b01.tar.bz2 lua-347d6961ac14213264c7176e3d125c9ba8475b01.zip |
Define LUA_MAXUNSIGNED as a preprocessor constant
The previous definition of LUA_MAXUNSIGNED used a typecast,
making it unsuitable for constant expressions in the preprocessor.
Diffstat (limited to 'luaconf.h')
-rw-r--r-- | luaconf.h | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -515,7 +515,6 @@ | |||
515 | */ | 515 | */ |
516 | #define LUA_UNSIGNED unsigned LUAI_UACINT | 516 | #define LUA_UNSIGNED unsigned LUAI_UACINT |
517 | 517 | ||
518 | #define LUA_MAXUNSIGNED (~(lua_Unsigned)0) | ||
519 | 518 | ||
520 | #define LUA_UNSIGNEDBITS (sizeof(LUA_UNSIGNED) * CHAR_BIT) | 519 | #define LUA_UNSIGNEDBITS (sizeof(LUA_UNSIGNED) * CHAR_BIT) |
521 | 520 | ||
@@ -530,6 +529,8 @@ | |||
530 | #define LUA_MAXINTEGER INT_MAX | 529 | #define LUA_MAXINTEGER INT_MAX |
531 | #define LUA_MININTEGER INT_MIN | 530 | #define LUA_MININTEGER INT_MIN |
532 | 531 | ||
532 | #define LUA_MAXUNSIGNED UINT_MAX | ||
533 | |||
533 | #elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ | 534 | #elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ |
534 | 535 | ||
535 | #define LUA_INTEGER long | 536 | #define LUA_INTEGER long |
@@ -538,6 +539,8 @@ | |||
538 | #define LUA_MAXINTEGER LONG_MAX | 539 | #define LUA_MAXINTEGER LONG_MAX |
539 | #define LUA_MININTEGER LONG_MIN | 540 | #define LUA_MININTEGER LONG_MIN |
540 | 541 | ||
542 | #define LUA_MAXUNSIGNED ULONG_MAX | ||
543 | |||
541 | #elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ | 544 | #elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ |
542 | 545 | ||
543 | /* use presence of macro LLONG_MAX as proxy for C99 compliance */ | 546 | /* use presence of macro LLONG_MAX as proxy for C99 compliance */ |
@@ -550,6 +553,8 @@ | |||
550 | #define LUA_MAXINTEGER LLONG_MAX | 553 | #define LUA_MAXINTEGER LLONG_MAX |
551 | #define LUA_MININTEGER LLONG_MIN | 554 | #define LUA_MININTEGER LLONG_MIN |
552 | 555 | ||
556 | #define LUA_MAXUNSIGNED ULLONG_MAX | ||
557 | |||
553 | #elif defined(LUA_USE_WINDOWS) /* }{ */ | 558 | #elif defined(LUA_USE_WINDOWS) /* }{ */ |
554 | /* in Windows, can use specific Windows types */ | 559 | /* in Windows, can use specific Windows types */ |
555 | 560 | ||
@@ -559,6 +564,8 @@ | |||
559 | #define LUA_MAXINTEGER _I64_MAX | 564 | #define LUA_MAXINTEGER _I64_MAX |
560 | #define LUA_MININTEGER _I64_MIN | 565 | #define LUA_MININTEGER _I64_MIN |
561 | 566 | ||
567 | #define LUA_MAXUNSIGNED _UI64_MAX | ||
568 | |||
562 | #else /* }{ */ | 569 | #else /* }{ */ |
563 | 570 | ||
564 | #error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ | 571 | #error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ |