Fixed warnings from different compilers

This commit is contained in:
Roberto Ierusalimschy 2024-02-15 11:18:34 -03:00
parent 165389b27b
commit 7237eb3f1c
4 changed files with 10 additions and 6 deletions

2
lapi.c
View File

@ -1221,7 +1221,7 @@ LUA_API int lua_gc (lua_State *L, int what, ...) {
int param = va_arg(argp, int); int param = va_arg(argp, int);
int value = va_arg(argp, int); int value = va_arg(argp, int);
api_check(L, 0 <= param && param < LUA_GCPN, "invalid parameter"); api_check(L, 0 <= param && param < LUA_GCPN, "invalid parameter");
res = luaO_applyparam(g->gcparams[param], 100); res = cast_int(luaO_applyparam(g->gcparams[param], 100));
if (value >= 0) if (value >= 0)
g->gcparams[param] = luaO_codeparam(value); g->gcparams[param] = luaO_codeparam(value);
break; break;

View File

@ -1131,8 +1131,11 @@ static void warnfon (void *ud, const char *message, int tocont) {
/* Size for the buffer in int's, rounded up */ /* Size for the buffer in int's, rounded up */
#define BUFSEED ((BUFSEEDB + sizeof(int) - 1) / sizeof(int)) #define BUFSEED ((BUFSEEDB + sizeof(int) - 1) / sizeof(int))
/*
#define addbuff(b,v) (memcpy(b, &(v), sizeof(v)), b += sizeof(v)) ** Copy the contents of variable 'v' into the buffer pointed by 'b'.
** (The '&b[0]' disguises 'b' to fix an absurd warning from clang.)
*/
#define addbuff(b,v) (memcpy(&b[0], &(v), sizeof(v)), b += sizeof(v))
static unsigned int luai_makeseed (void) { static unsigned int luai_makeseed (void) {
@ -1146,7 +1149,7 @@ static unsigned int luai_makeseed (void) {
/* fill (rare but possible) remain of the buffer with zeros */ /* fill (rare but possible) remain of the buffer with zeros */
memset(b, 0, sizeof(buff) - BUFSEEDB); memset(b, 0, sizeof(buff) - BUFSEEDB);
res = buff[0]; res = buff[0];
for (i = 0; i < BUFSEED; i++) for (i = 1; i < BUFSEED; i++)
res ^= (res >> 3) + (res << 7) + buff[i]; res ^= (res >> 3) + (res << 7) + buff[i];
return res; return res;
} }

View File

@ -352,7 +352,7 @@ static lua_Number I2d (Rand64 x) {
SRand64 sx = (SRand64)(trim64(x) >> shift64_FIG); SRand64 sx = (SRand64)(trim64(x) >> shift64_FIG);
lua_Number res = (lua_Number)(sx) * scaleFIG; lua_Number res = (lua_Number)(sx) * scaleFIG;
if (sx < 0) if (sx < 0)
res += 1.0; /* correct the two's complement if negative */ res += l_mathop(1.0); /* correct the two's complement if negative */
lua_assert(0 <= res && res < 1); lua_assert(0 <= res && res < 1);
return res; return res;
} }

View File

@ -995,7 +995,8 @@ static int finishnodeset (Table *t, const TValue *slot, TValue *val) {
} }
else if (isabstkey(slot)) else if (isabstkey(slot))
return HNOTFOUND; /* no slot with that key */ return HNOTFOUND; /* no slot with that key */
else return (cast(Node*, slot) - t->node) + HFIRSTNODE; /* node encoded */ else /* return node encoded */
return cast_int((cast(Node*, slot) - t->node)) + HFIRSTNODE;
} }