Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86922 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19658 invoked from network); 28 Jun 2015 00:46:20 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Jun 2015 00:46:20 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.48 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.48 mail-pa0-f48.google.com Received: from [209.85.220.48] ([209.85.220.48:34840] helo=mail-pa0-f48.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 84/00-18116-9D34F855 for ; Sat, 27 Jun 2015 20:46:18 -0400 Received: by pactm7 with SMTP id tm7so86468465pac.2 for ; Sat, 27 Jun 2015 17:46:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=f0kJJxiLErjURzR/oqRe5l9Z1+WVxYTC5OQIlZ8SqmI=; b=yKHB+lRuUeb8UeancnMvdij4U7H7FW5fwgM1A1huNre0xzx+6OOfivuD5nUFWgJCrm iz9CIRku0/1lQ5b/g5+TmGab3KDBh+BHUvXmZbcNDHTTDGIRIZoBkzo4s8gK8myuY2Xa to/rTzbm3C9YDfm32BbqzvfQsSQTfSKujdrb7M8OyX9Gl6cIuSvS0EM/X/8O8praEiJP DyDXcLJKecKE+XXEq1KvQ/M4BopxHKkrDM8LxF1pNv6FN1mKrZ2GWwbfdgXVV1SnUT82 heFmWE6NfCj5azNk+1WgIDVDw1dENMr8hFI9Y6XJp32SexONi4Bm4jXWgkFbr+bg/7nk 566A== X-Received: by 10.68.238.39 with SMTP id vh7mr17942522pbc.12.1435452374149; Sat, 27 Jun 2015 17:46:14 -0700 (PDT) Received: from Stas-Air.local (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by mx.google.com with ESMTPSA id je2sm37572463pbd.3.2015.06.27.17.46.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 27 Jun 2015 17:46:13 -0700 (PDT) Message-ID: <558F43CA.8000700@gmail.com> Date: Sat, 27 Jun 2015 17:46:02 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: PHP Internals Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: NAN/INF->int conversion in 5.6 From: smalyshev@gmail.com (Stanislav Malyshev) Hi! Working on cleaning up the spec, I've discovered that in PHP 5.6 and below conversion of NAN to int produces unexpected result of -9223372036854775808 (on 64-bit, 32-bit probably different). In PHP 7, it produces expected 0. See e.g.: http://3v4l.org/RKQuu Same weirdness is for INF and -INF which sometimes produce 0 (e.g. on my local machine) and sometimes -9223372036854775808 - e.g. http://3v4l.org/ivX1D My question is: should we backport code from PHP 7 that checks for infinity/nan and put it into 5.6? Or it's not worth it and it's ok for 5.6 to return random weird stuff there? (I know it's not exactly random and there's a reason why it's that number but it looks that way). -- Stas Malyshev smalyshev@gmail.com