diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-05-13 16:17:21 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-05-13 16:17:21 -0300 |
| commit | 279c3a6961c60252f0368fdea889caf977f85fe0 (patch) | |
| tree | 1614c0b508f34657f81d155dec6dffd92e671479 /ltable.c | |
| parent | 49c42f3615bd876657bf697e3bf040ce796ae238 (diff) | |
| download | lua-279c3a6961c60252f0368fdea889caf977f85fe0.tar.gz lua-279c3a6961c60252f0368fdea889caf977f85fe0.tar.bz2 lua-279c3a6961c60252f0368fdea889caf977f85fe0.zip | |
A few changes in tests about number of bits in integers
- The preprocessor must work with at least 'long', and therefore must
do shifts of up to 31 bits correctly.
- Whenever possible, use unsigned types in shifts.
Diffstat (limited to 'ltable.c')
| -rw-r--r-- | ltable.c | 4 |
1 files changed, 2 insertions, 2 deletions
| @@ -214,8 +214,8 @@ LUAI_FUNC unsigned int luaH_realasize (const Table *t) { | |||
| 214 | size |= (size >> 4); | 214 | size |= (size >> 4); |
| 215 | size |= (size >> 8); | 215 | size |= (size >> 8); |
| 216 | size |= (size >> 16); | 216 | size |= (size >> 16); |
| 217 | #if (INT_MAX >> 30 >> 1) > 0 | 217 | #if (UINT_MAX >> 30) > 3 |
| 218 | size |= (size >> 32); /* int has more than 32 bits */ | 218 | size |= (size >> 32); /* unsigned int has more than 32 bits */ |
| 219 | #endif | 219 | #endif |
| 220 | size++; | 220 | size++; |
| 221 | lua_assert(ispow2(size) && size/2 < t->alimit && t->alimit < size); | 221 | lua_assert(ispow2(size) && size/2 < t->alimit && t->alimit < size); |
