Thread with 3 posts
jump to expanded poston x64 Linux, uint64_t is an alias of unsigned long, but on x64 macOS, uint64_t is an alias of unsigned long long. this doesn’t matter for C code, but it interacts badly with C++ overload resolution, even though sizeof(long) == sizeof(long long) on both systems. fun!
@hikari it plays merry havoc if you have printf warnings enabled. Bad enough to make you use the PRIx64 macros from inttypes.h? Never!
@colinburgess I wonder if those macros would even work here anyway. They’re probably using the at-least rather than exact-size typedefs and I don’t know if those are consistent. It’s such a mess.