Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Looking for testers who use Microsoft compilers

by syphilis (Archbishop)
on Feb 19, 2020 at 13:27 UTC ( [id://11113152]=note: print w/replies, xml ) Need Help??


in reply to Re: Looking for testers who use Microsoft compilers
in thread Looking for testers who use Microsoft compilers

Oh, thank you !!
That's helpful.

If you have any perls (the actual perl version is not important) built using earlier versions of a Microsoft Compiler, and those perls were also built with:
ivtype='__int64' ivsize=8
could you post the output of perl -V:ccversion for them ?

Somewhere between ccversion='16.00.30319.01' and ccversion='19.24.28316' a significant change in the MS C runtime occurred. (That change has relevance to List::Uniqnum.)
But I don't know exactly when that change occurred, and I'd like to find out.

Thanks again.

Cheers,
Rob

Replies are listed 'Best First'.
Re^3: Looking for testers who use Microsoft compilers
by xiaoyafeng (Deacon) on Feb 21, 2020 at 02:47 UTC

    Somewhere between ccversion='16.00.30319.01' and ccversion='19.24.28316' a significant change in the MS C runtime occurred.

    Sorry, I only have installed Visual studio 2017 and 2019 on my server. most of time I've used strawberry perl.





    I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

      I only have installed Visual studio 2017 and 2019 on my server

      I was expecting that a perl built with Visual Studio 2017 would report a $Config{ccversion} that was less than '19.24.28316' and greater than '16.00.30319.01'. (My guess is that with Visual Studio 2017, $Config{ccversion} would begin with 19.1...)
      I thought that '19.24.28316' identifies Visual Studio 2019 and that '16.00.30319.01' identifies Visual Studio 2010.

      Anyway, if you have a perl (whose ivsize is 8) that has been built with that Visual Studio 2017 compiler, and could test List::Uniqnum that would be handy.
      Or, alternatively, just provide the output of perl -le "printf '%0.20g', 18446744073709549568;".
      That output will also tell me whether '%0.20g' formatting is reliable or not - and the thing I'm trying to work out is at which version of the Microsoft compilers did '%0.20g' become reliable.
      If it outputs 18446744073709549568, then '%0.20g' formatting is fine ... but not so if it outputs 18446744073709550000.

      Cheers,
      Rob
        Here is the test:
        C:\visperl\bin>perl -V Summary of my perl5 (revision 5 version 30 subversion 1) configuration +: Platform: osname=MSWin32 osvers=10.0.17763.1039 archname=MSWin32-x64-multi-thread uname='' config_args='undef' hint=recommended useposix=true d_sigaction=undef useithreads=define usemultiplicity=define use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cl' ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -fp:precise -DW +IN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_D +EPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNING +S -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SY +S' optimize='-O1 -MD -Zi -DNDEBUG -GL -fp:precise' cppflags='-DWIN32' ccversion='19.16.27024.1' gccversion='' gccosandvers='' intsize=4 longsize=4 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=undef longlongsize=8 d_longdbl=define longdblsize=8 longdblkind=0 ivtype='__int64' ivsize=8 nvtype='double' nvsize=8 Off_t='__int64' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='link' ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpat +h:"c:\visperl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02"' libpth="C:\Program Files (x86)\Microsoft Visual Studio\2017\Commun +ity\VC\Tools\MSVC\14.16.27023\\lib\x64" libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib +comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi3 +2.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib o +dbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.l +ib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib net +api32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.l +ib odbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib libc=ucrt.lib so=dll useshrplib=true libperl=perl530.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs dlext=dll d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg - +libpath:"c:\visperl\lib\CORE" -machine:AMD64 -subsystem:console,"5.0 +2"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF USE_THREAD_SAFE_LOCALE Built under MSWin32 Compiled at Feb 24 2020 12:20:14 @INC: C:/visperl/site/lib C:/visperl/lib
        C:\visperl\bin>perl -le "printf '%0.20g', 18446744073709549568;" 18446744073709549568




        I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11113152]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (7)
As of 2024-04-16 17:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found