develooper Front page | perl.perl5.porters | Postings from May 2013

Re: [perl #117835] Pointer cast to integer of different size in hv_func.h

Thread Previous | Thread Next
From:
sisyphus1
Date:
May 2, 2013 12:34
Subject:
Re: [perl #117835] Pointer cast to integer of different size in hv_func.h
Message ID:
55E6FD2CC83A49DB8721A610381DC8CD@OwnerPC311012


-----Original Message----- 
From: Nicholas Clark
Sent: Thursday, May 02, 2013 9:07 PM
To: demerphq
Cc: Perl5 Porteros ; bugs-bitbucket@rt.perl.org
Subject: Re: [perl #117835] Pointer cast to integer of different size in 
hv_func.h

> On Thu, May 02, 2013 at 12:46:30PM +0200, demerphq wrote:
> > On 2 May 2013 12:34, Nicholas Clark <nick@ccl4.org> wrote:
> > > On Thu, May 02, 2013 at 12:23:18PM +0200, demerphq wrote:
> > >> Sorry about that, probably my bad porting skills at fault. I will
> > >> apply your patch as soon as I can.
> > >
> > > It needs testing on Win64 first.
> >
> > Any reason Win64 is special in this regard?
>
> Because the warning is not from your code. It's from a change made to your
> code to fix a build failure on 64 bit Windows:
>
> https://rt.perl.org/rt3/Ticket/Display.html?id=117687

It was I that created that ticket.

I've tried Robin's patch on 5.17.11 - it's fine for me on Win64. (I haven't 
tested Win32.)

> So changing it has the potential to break their build.
> [64 bit Windows is special because sizeof(void *) > sizeof(long)]
>
> I'd spotted this warning a few days ago and had pushed a branch recently
> (smoke-me/nicholas/rt-117687) with my second go at a fix. And I'm now
> particularly wary of that line because the first thing that I thought 
> would
> work didn't. (Squashed the warning on 32 bit platforms, caused a warning 
> on
> 64 bit platforms)
>
> Also, I don't understand why it was a build *failure* on Win64, and not 
> just
> a warning. This whole thing is behaving strangely.

It *is* strange.
I would think (without actually knowing) that kmx has checked to see that 
5.17.10 and 5.17.11 build ok for x64 Strawberry Perl. If that's the case, 
then he's obviously found no problem - as we've heard no complaint from him.
Strawberry Perl uses an older version of gcc (version 4.6.3) whereas I'm 
using 4.7.0. I was therefore wondering whether the problem I faced was 
specific to 4.7.0 (and maybe even later versions, too.)

I also use 4.7.0 for my 32-bit builds. There was no problem there ... but, 
of course, 'IV' and 'long' are the same thing on 32-bit builds.

Cheers,
Rob 


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About