in reply to Re^12: supporting quads on 32 bit Perl
in thread supporting quads on 32 bit Perl

I built the latest github version.
cp lib/Math/Int64.pm blib\lib\Math\Int64.pm cp lib/Math/Int64/die_on_overflow.pm blib\lib\Math\Int64\die_on_overfl +ow.pm cp lib/Math/Int64/native_if_available.pm blib\lib\Math\Int64\native_if +_available.pm C:\perl512\bin\perl.exe C:\perl512\lib\ExtUtils\xsubpp -typemap C +:\perl512\lib\ExtUtils\typemap Int64.xs > Int64.xsc && C:\perl512\bi +n\perl.exe -MExtUtils::Command -e "mv" -- Int64.xsc Int64.c cl -c -I. -nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -DWIN32 -D_CON +SOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMP +LICIT_SYS -DUSE_PERLIO -Od -MD -Zi -DDEBUGGING -DVERSION=\"0.19\" + -DXS_VERSION=\"0.19\" "-IC:\perl512\lib\CORE" -DINT64_BACKEND_NV I +nt64.c Int64.c Int64.xs(253) : warning C4244: 'initializing' : conversion from 'NV' t +o 'int64_t', possible loss of data Int64.xs(259) : warning C4244: 'return' : conversion from 'NV' to 'int +64_t', possible loss of data Int64.xs(339) : warning C4244: 'initializing' : conversion from 'NV' t +o 'uint64_t', possible loss of data Int64.xs(345) : warning C4244: 'return' : conversion from 'NV' to 'uin +t64_t', possible loss of data Int64.xs(355) : warning C4244: 'initializing' : conversion from 'int64 +_t' to 'IV', possible loss of data Int64.xs(360) : warning C4244: 'initializing' : conversion from 'int64 +_t' to 'UV', possible loss of data Int64.xs(364) : warning C4244: 'function' : conversion from 'int64_t' +to 'const NV', possible loss of data Int64.xs(370) : warning C4244: 'initializing' : conversion from 'uint6 +4_t' to 'UV', possible loss of data Int64.xs(373) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const NV', possible loss of data Int64.xs(385) : warning C4244: 'initializing' : conversion from 'uint6 +4_t' to 'char', possible loss of data Int64.xs(502) : warning C4244: 'function' : conversion from 'int64_t' +to 'const IV', possible loss of data Int64.xs(526) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const UV', possible loss of data Int64.xs(545) : warning C4244: '=' : conversion from 'int64_t' to 'cha +r', possible loss of data Int64.xs(563) : warning C4244: '=' : conversion from 'uint64_t' to 'ch +ar', possible loss of data Int64.xs(679) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const IV', possible loss of data Int64.xs(690) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const UV', possible loss of data Int64.xs(700) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const IV', possible loss of data Int64.xs(710) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const UV', possible loss of data Int64.xs(722) : warning C4244: 'function' : conversion from 'int64_t' +to 'const IV', possible loss of data Int64.xs(733) : warning C4244: 'function' : conversion from 'uint64_t' + to 'const IV', possible loss of data Int64.c(1262) : warning C4101: 'rev' : unreferenced local variable Int64.c(1261) : warning C4101: 'other' : unreferenced local variable Int64.c(1290) : warning C4101: 'rev' : unreferenced local variable Int64.c(1289) : warning C4101: 'other' : unreferenced local variable Int64.c(1679) : warning C4101: 'rev' : unreferenced local variable Int64.c(1706) : warning C4101: 'rev' : unreferenced local variable Int64.c(1938) : warning C4101: 'rev' : unreferenced local variable Int64.c(1937) : warning C4101: 'other' : unreferenced local variable Int64.c(1963) : warning C4101: 'rev' : unreferenced local variable Int64.c(1962) : warning C4101: 'other' : unreferenced local variable Int64.c(1988) : warning C4101: 'rev' : unreferenced local variable Int64.c(1987) : warning C4101: 'other' : unreferenced local variable Int64.c(2013) : warning C4101: 'rev' : unreferenced local variable Int64.c(2012) : warning C4101: 'other' : unreferenced local variable Int64.c(2038) : warning C4101: 'rev' : unreferenced local variable Int64.c(2037) : warning C4101: 'other' : unreferenced local variable Int64.c(2063) : warning C4101: 'rev' : unreferenced local variable Int64.c(2062) : warning C4101: 'other' : unreferenced local variable Int64.c(2088) : warning C4101: 'rev' : unreferenced local variable Int64.c(2087) : warning C4101: 'other' : unreferenced local variable Int64.c(2113) : warning C4101: 'rev' : unreferenced local variable Int64.c(2112) : warning C4101: 'other' : unreferenced local variable Int64.c(2140) : warning C4101: 'rev' : unreferenced local variable Int64.c(2139) : warning C4101: 'other' : unreferenced local variable Int64.c(2505) : warning C4101: 'rev' : unreferenced local variable Int64.c(2532) : warning C4101: 'rev' : unreferenced local variable Int64.c(2764) : warning C4101: 'rev' : unreferenced local variable Int64.c(2763) : warning C4101: 'other' : unreferenced local variable Int64.c(2789) : warning C4101: 'rev' : unreferenced local variable Int64.c(2788) : warning C4101: 'other' : unreferenced local variable Int64.c(2814) : warning C4101: 'rev' : unreferenced local variable Int64.c(2813) : warning C4101: 'other' : unreferenced local variable Int64.c(2839) : warning C4101: 'rev' : unreferenced local variable Int64.c(2838) : warning C4101: 'other' : unreferenced local variable Int64.c(2864) : warning C4101: 'rev' : unreferenced local variable Int64.c(2863) : warning C4101: 'other' : unreferenced local variable Int64.c(2889) : warning C4101: 'rev' : unreferenced local variable Int64.c(2888) : warning C4101: 'other' : unreferenced local variable Int64.c(2914) : warning C4101: 'rev' : unreferenced local variable Int64.c(2913) : warning C4101: 'other' : unreferenced local variable c:\documents and settings\owner\desktop\cpan libs\math-int64-0.19\int6 +4.xs(602) : warning C4700: local variable 'RETVAL' used without havin +g been initialized c:\documents and settings\owner\desktop\cpan libs\math-int64-0.19\int6 +4.xs(167) : warning C4715: 'SvSI64' : not all control paths return a +value c:\documents and settings\owner\desktop\cpan libs\math-int64-0.19\int6 +4.xs(177) : warning C4715: 'SvSU64' : not all control paths return a +value Running Mkbootstrap for Math::Int64 () C:\perl512\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 Int6 +4.bs C:\perl512\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NA +ME'=>\"Math::Int64\", 'DLBASE' => 'Int64', 'DL_FUNCS' => { }, 'FUNCL +IST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Math\Int64\Int64.dll -dll -nologo -nodefa +ultlib -debug -libpath:"c:\perl512\lib\CORE" -machine:x86 Int64.obj + C:\perl512\lib\CORE\perl512.lib oldnames.lib kernel32.lib user32.l +ib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole3 +2.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.li +b version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib -def:I +nt64.def Creating library blib\arch\auto\Math\Int64\Int64.lib and object bli +b\arch\auto\Math\Int64\Int64.exp if exist blib\arch\auto\Math\Int64\Int64.dll.manifest mt -nologo - +manifest blib\arch\auto\Math\Int64\Int64.dll.manifest -outputresource +:blib\arch\auto\Math\Int64\Int64.dll;2 if exist blib\arch\auto\Math\Int64\Int64.dll.manifest del blib\arc +h\auto\Math\Int64\Int64.dll.manifest C:\perl512\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755 blib +\arch\auto\Math\Int64\Int64.dll C:\perl512\bin\perl.exe -MExtUtils::Command -e "cp" -- Int64.bs bl +ib\arch\auto\Math\Int64\Int64.bs C:\perl512\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 blib +\arch\auto\Math\Int64\Int64.bs Files found in blib\arch: installing files in blib\lib into architectu +re dependent library tree Installing C:\perl512\site\lib\auto\Math\Int64\Int64.dll Installing C:\perl512\site\lib\auto\Math\Int64\Int64.exp Installing C:\perl512\site\lib\auto\Math\Int64\Int64.ilk Installing C:\perl512\site\lib\auto\Math\Int64\Int64.lib Installing C:\perl512\site\lib\auto\Math\Int64\Int64.pdb Appending installation info to c:\perl512\lib/perllocal.pod
what about the RETVAL warning in miu64_native_to_uint64? newSVu64 doesn't return a mortal SV, and SV * wasn't saved and therefore leaked. miu64_native_to_int64 is correct and it saves the result of newSVi64.

Replies are listed 'Best First'.
Re^14: supporting quads on 32 bit Perl
by salva (Canon) on Jun 03, 2012 at 08:41 UTC
    what about the RETVAL warning in miu64_native_to_uint64? newSVu64 doesn't return a mortal SV, and SV * wasn't saved and therefore leaked. miu64_native_to_int64 is correct and it saves the result of newSVi64.

    oops, I overlooked that one!

    It was a regression introduced in some of the 0.18_xx releases. I have solved it and added some tests for uint64 serializations.

      Got latest git version. Everything looks good now. My Visual Studio 2003 is about the same age as ActiveState's build system, so if I can build it, AS should be able to also.
        ok, I have uploaded version 0.20. Let's see how it does at the ActiveState PPM builders this time.

        In any case, if you find any other problem with the module, don't hesitate to report it.