|
From: Martin W. <mai...@ma...> - 2015-05-08 07:42:39
|
There are a number of places in the Icarus code where a pointer is cast to an integer or vice versa. Currently the code uses a long or unsigned long integer for the purpose. This doesn't work in 64-bit Windows, because the Windows ABI requires long integers to be 32 bits. The proper solution is to use the intptr_t or uintptr_t types. In parts of the Icarus code, there are tests for HAVE_INTTYPES_H, but in other parts things from inttypes.h (e.g. int64_t and uint64_t) are used unconditionally. What is the current policy on this? I would guess that any compiler that supports the C++ features we use is also going to have inttypes.h. Martin |