> lobject.c:327:5: warning: format '%d' expects argument of type 'int',
> but argume
> nt 3 has type 'lua_Integer' [-Wformat=]
> len = lua_integer2str(buff, ivalue(obj));
> ^
> [...]
> liolib.c:612:17: warning: format '%d' expects argument of type 'int',
> but argume
> nt 3 has type 'lua_Integer' [-Wformat=]
> ? fprintf(f, LUA_INTEGER_FMT, lua_tointeger(L, arg))
> ^
> [...]
> luac.c:269:2: warning: format '%d' expects argument of type 'int', but
> argument
> 2 has type 'lua_Integer' [-Wformat=]
> printf(LUA_INTEGER_FMT,ivalue(o));
> ^
> [...]
All three warnings are about the same issue. Can you make your code
print the value of LUA_INTEGER_FMT (a string)? It should be "%I64d", not
"%d". (Just in case, print also the value of macro LUA_INTEGER_FRMLEN,
another string.)
This whole thing is weird, because this code should give a warning
in all other platforms, too...