develooper Front page | perl.perl5.porters | Postings from December 2014

[perl #123502] [PATCH] isnan identifier can't be used as a var

Thread Previous
From:
bulk88
Date:
December 26, 2014 05:39
Subject:
[perl #123502] [PATCH] isnan identifier can't be used as a var
Message ID:
rt-4.0.18-28784-1419572340-1453.123502-75-0@perl.org
# New Ticket Created by  bulk88 
# Please include the string:  [perl #123502]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=123502 >


This is a bug report for perl from bulk88@hotmail.com,
generated with the help of perlbug 1.40 running under perl 5.21.7.


-----------------------------------------------------------------
[Please describe your issue here]

See attached patch. CPP output below to explain error.

C:\perl521\srcnewb4opt\win32>nmake  ..\pp_sys.i

OP * Perl_pp_gmtime(PerlInterpreter* my_perl )
{
     SV **sp = (my_perl->Istack_sp);
     Time64_T when;
     struct TM64 tmbuf;
     struct TM64 *err;
     const char *opname = (my_perl->Iop)->op_type == OP_LOCALTIME ? 
"localtime" : "gmtime";
     static const char * const dayname[] =
	{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
     static const char * const monname[] =
	{"Jan", "Feb", "Mar", "Apr", "May", "Jun",
	 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

     if (((my_perl->Iop)->op_private & 0x0f) < 1 || (!(*sp) && 
((void)(*sp--), 1))) {
	time_t now;
	(void)time(&now);
	when = (Time64_T)now;
     }
     else {
	NV input = floor(((((my_perl->ISv) = ((*sp--))), 
(((((my_perl->ISv))->sv_flags & (0x00000200|0x00200000)) == 0x00000200) 
? ((XPVNV*) ((my_perl->ISv))->sv_any)->xnv_u.xnv_nv : 
Perl_sv_2nv_flags(my_perl, (my_perl->ISv),2)))));
	const char _isnan = _isnan(input);
	when = (Time64_T)input;
	if ((((_isnan || when != input) ? (char)1 : (char)0))) {
	
	    Perl_ck_warner(my_perl, (15 ),
			   "%s(%.0" "f" ") too large", opname, input);
	    if (_isnan) {
		err = 0;
		goto failed;
	    }
	}
     }




[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
                   category=core
                   severity=low
---
Site configuration information for perl 5.21.7:

Configured by Owner at Sat Nov 22 21:54:54 2014.

Summary of my perl5 (revision 5 version 21 subversion 7) configuration:
                 Local Commit: 1bce52df028aabe28c20b2d97949e35c17ea811e
                 Ancestor: 7072da8afeba4c87ae623cd913e274396ffcf1cd
                 Platform:
                   osname=MSWin32, osvers=5.1,
archname=MSWin32-x86-multi-thread
                   uname=''
                   config_args='undef'
                   hint=recommended, useposix=true, d_sigaction=undef
                   useithreads=define, usemultiplicity=define
                   use64bitint=undef, use64bitall=undef, uselongdouble=undef
                   usemymalloc=n, bincompat5005=undef
                 Compiler:
                   cc='cl', ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG
-G7 -GL
-DWIN32 -D_CONSOLE -DNO_STRICT  -DPERL_TEXTMODE_SCRIPTS
-DPERL_HASH_FUNC_ONE_AT_A_TIME -DNO_MATHOMS -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T',
                   optimize='-O1 -MD -Zi -DNDEBUG -G7 -GL',
                   cppflags='-DWIN32'
                   ccversion='13.10.6030', gccversion='', gccosandvers=''
                   intsize=4, longsize=4, ptrsize=4, doublesize=8,
byteorder=1234,
doublekind=3
                   d_longlong=undef, longlongsize=8, d_longdbl=define,
longdblsize=8,
longdblkind=0
                   ivtype='long', ivsize=4, 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  -libpath:"c:\perl521\lib\CORE"  -machine:x86'
                   libpth="C:\Program Files\Microsoft Visual Studio .NET
2003\VC7\lib"
                   libs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
                   perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
                   libc=msvcrt.lib, so=dll, useshrplib=true,
libperl=perl521.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:\perl521\lib\CORE"  -machine:x86'

Locally applied patches:
                   ce7a4d57d0acca9f39a84d36d708c4505dfe45ca
                   ca0b263f4b167ddf97416f657d79ab5bd3344357
                   08919bf863666074243240abbd19cd1a74cc7b74
                   b8a043377dbf39548709b107a11e5cc2714c0e9a
                   efa855eb5cffb7739616c295dd968d1510efeeb0
                   1d47d0b810e26d9a2f9101fb813bd5b3dd332cc9
                   3faca062ddb056db54f73fa55b0a9d473675dd33
                   0b3e905bda3e75ad948a1213f620656b60807393
                   1b1efc719fde05d215e5a13fb38c03e12a3aab08
                   1bce52df028aabe28c20b2d97949e35c17ea811e

---
@INC for perl 5.21.7:
                   ..\lib
                   C:/perl521/srcnewb4opt/lib
                   .

---
Environment for perl 5.21.7:
                   HOME (unset)
                   LANG (unset)
                   LANGUAGE (unset)
                   LD_LIBRARY_PATH (unset)
                   LOGDIR (unset)
                   PATH=C:\WINDOWS\system32;C:\Program Files\Microsoft
Visual
Studio
.NET 2003\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\IDE;C:\WINDOWS;C:\Program Files\Git\cmd;C:\Program
Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;C:\perl\bin
                   PERL_BADLANG (unset)
                   PERL_JSON_BACKEND=Cpanel::JSON::XS
                   PERL_YAML_BACKEND=YAML
                   SHELL (unset)



















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