On Fri, 20 Jan 2017 11:04:29 +0100
Thomas Huth <th...@redhat.com> wrote:

> On 20.01.2017 11:00, Cornelia Huck wrote:
> > On Fri, 20 Jan 2017 10:52:26 +0100
> > Thomas Huth <th...@redhat.com> 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 *).
> > 
> > Well, I already do that (mingw32, and I see -m32 on the command line;
> > that already caught sizeof(uint64_t) != sizeof(void *) here.) But isn't
> > sizeof(long) == sizeof(void *) even in the -m32 case?
> 
> Yes, sorry, my bad, it's the 64-bit version of MinGW where sizeof(long)
> is different to sizeof(void *), see
> https://sourceforge.net/p/mingw-w64/bugs/58/ for example.

Ah, that makes sense. Thanks!


Reply via email to