While building your package using our research compiler infrastructure we noticed the following undefined conversion: in lgi/marshal.c, line 1409:
transfer = lua_tonumber (L, lua_upvalueindex (2));
"transfer" is an enum, but lua_tonumber returns a double. Although conversion to an enum even from an integer is a bit dubious, at least the use of lua_tointeger would be relatively well defined.
Thanks, fixed in master as suggested.
Out of curiosity, what kind of compiler research project it is? Is it public?
It's not necessarily a compiler research project, but it's actually the compiler front end of our verification tool chain: http://www.cprover.org/goto-cc/