I am using TDM MinGW64 to build my engine and SWIG to assist in creating scripting bindings for it. When the scripting files are auto-generated there is a line in the method "SWIG_Lua_class_tostring" where SWIG attempts to convert the return value from the "lua_touserdata" method to an "unsigned long". On TDM MinGW this results in a compilation error.
Thus far I have been able to manually edit the generated files so it instead casts to "unsigned long long". However I have to do this every time my bindings are regenerated. SWIG should instead use a datatype that is guaranteed to be the same size of a pointer on the compiling platform. Ideally "uintptr_t" if it possible for SWIG to do so.