On 20.01.2017 10:52, Thomas Huth wrote: > On 20.01.2017 10:21, Cornelia Huck wrote: >> On Thu, 19 Jan 2017 18:32:44 +0000 >> Peter Maydell <peter.mayd...@linaro.org> wrote: >> >>> Hi; I'm afraid this fails to build on Windows: >>> >>> /home/petmay01/linaro/qemu-for-merges/hw/s390x/s390-pci-bus.c: In >>> function ‘s390_pci_get_iommu’: >>> /home/petmay01/linaro/qemu-for-merges/hw/s390x/s390-pci-bus.c:415:20: >>> error: cast from pointer to integer of different size >>> [-Werror=pointer-to-int-cast] >>> uint64_t key = (unsigned long)bus; >>> ^ >>> /home/petmay01/linaro/qemu-for-merges/hw/s390x/s390-pci-bus.c: In >>> function ‘s390_pci_iommu_free’: >>> /home/petmay01/linaro/qemu-for-merges/hw/s390x/s390-pci-bus.c:539:20: >>> error: cast from pointer to integer of different size >>> [-Werror=pointer-to-int-cast] >>> uint64_t key = (unsigned long)bus; >>> ^ >>> cc1: all warnings being treated as errors >>> >>> >>> You probably wanted uintptr_t. >> >> Fixed and v2 sent. >> >> I'm wondering if there is any way to catch this earlier (without >> actually building on Windows)? My mingw 4.8.2 cross-build worked fine... > > You likely got to use the 32-bit version of MinGW (or compile with -m32 > with any other version of GCC) to catch this issue, so that you get > sizeof(long) != sizeof(void *).
... or was it the other way round? ... use the 64-bit version of MinGW? ... that likely makes more sense... sorry, it's been a while that I used MinGW for the last time. Thomas