develooper Front page | perl.perl5.porters | Postings from August 2011

Re: Error building on windows 7 x64 with nmake

Thread Previous
From:
Craig A. Berry
Date:
August 13, 2011 15:13
Subject:
Re: Error building on windows 7 x64 with nmake
Message ID:
CA+vYcVzuEOrHge0KZDPn3bJifG8Kq13r4rjAhsVb7TNxH_N9Pw@mail.gmail.com
On Sat, Aug 13, 2011 at 3:37 PM, Nicholas Clark <nick@ccl4.org> wrote:


> ..\doio.c(1773) : warning C4244: '=' : conversion from 'IV' to 'I32', possible loss of data


> I'm suspicious about all the conversion warnings. I'm assuming that UV and IV
> are 64 bit types, and __int64 will definitely be a 64 bit type. Surely they
> shouldn't be there if everything is working correctly?

Aren't those warnings about truncations that will happen on any
platform where IV and UV are 64 bits?  For example, that last one in
doio.c is  about:

            while (++mark <= sp) {
                I32 proc;
                SvGETMAGIC(*mark);
                if (!(SvIOK(*mark) || SvNOK(*mark) || looks_like_number(*mark)))
                    Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
                proc = SvIV_nomg(*mark);
                APPLY_TAINT_PROPER();
                if (PerlProc_kill(proc, val))
                    tot--;
            }

Since proc is an I32 and SvIV_nomg returns an IV (which may be either
32 or 64 bits), the warning seems to me a fair complaint.  But not
likely to be part of the build problems reported here.

Thread Previous


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