gsize is not equivalent to size_t on certain platforms
My understanding is that
gsize should be equivalent to
size_t everywhere. However, on certain platforms (at least on 32-bit PPC which is quite obsolete, but possibly on other 32-bit platforms),
long are the same size and
size_t is defined to be
unsigned long, whereas this logic in GLib's build system will end up defining
gsize to be
unsigned int, meaning that
size_t will then be incompatible. We received a bug report about this in GJS (gjs!680 (closed)).
I'm not sure what exactly is going wrong. Maybe the issue is that the checks in that build system code are not using
-fpermissive, or maybe the checks need to check the reverse as well, that
size_t* is convertible to
gsize* without error, or maybe the checks need to use C++?