Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39420 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69186 invoked from network); 28 Jul 2008 23:34:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Jul 2008 23:34:56 -0000 Authentication-Results: pb1.pair.com smtp.mail=alan@akbkhome.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=alan@akbkhome.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain akbkhome.com designates 202.81.246.113 as permitted sender) X-PHP-List-Original-Sender: alan@akbkhome.com X-Host-Fingerprint: 202.81.246.113 246-113.netfront.net Received: from [202.81.246.113] ([202.81.246.113:49385] helo=akbkhome.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0E/3E-24886-B975E884 for ; Mon, 28 Jul 2008 19:34:55 -0400 Received: from wideboy ([192.168.0.27]) by akbkhome.com with esmtp (Exim 4.69) (envelope-from ) id 1KNcEb-0005aA-4K; Tue, 29 Jul 2008 07:34:34 +0800 Message-ID: <488E5787.3080204@akbkhome.com> Date: Tue, 29 Jul 2008 07:34:31 +0800 User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: Nuno Lopes CC: Stanislav Malyshev , PHP Internals References: <488E204C.9010809@zend.com> <7ca798440807281348t719246c7k4bf6d936168a43a6@mail.gmail.com> In-Reply-To: <7ca798440807281348t719246c7k4bf6d936168a43a6@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-mailfort-sig: c797340fd6bb8ce9e250d7cc31cb93d3 Subject: Re: [PHP-DEV] [Fwd: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_strtod.c] From: alan@akbkhome.com (Alan Knowles) Nuno Lopes wrote: > I already expressed my opinion.. If you know what's the buggy gcc > version, just fail at configure time if it's present. > With a notice and reference to the bug number - so If people are stuck with that compiler they can see a work around... Regards Alan > Nuno > > > On Mon, Jul 28, 2008 at 20:38, Stanislav Malyshev wrote: > >> Hi! >> >> I wanted to ask people here about this patch. See history in >> http://bugs.php.net/bug.php?id=43487 but basically there's some gcc out >> there that miscompiles zend_strtod.c. We can fix it, probably at some >> marginal performance cost, but the question is - should we? It's pre-release >> compiler and not in the latest version. >> >> So can anyone using non-prerelease gcc of any recent version - or non-gcc >> compiler even - reproduce this? Should we keep the change or just tell >> people "use working compiler"? >> >> -------- Original Message -------- >> Subject: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_strtod.c >> Date: Sun, 27 Jul 2008 11:29:59 -0000 >> From: Dmitry Stogov >> To: zend-engine-cvs@lists.php.net >> >> dmitry Sun Jul 27 11:29:59 2008 UTC >> >> Modified files: >> /ZendEngine2 zend_strtod.c >> Log: >> Fix for bug #43487 (Wrong conversion of float to string) >> >> >> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_strtod.c?r1=1.37&r2=1.38&diff_format=u >> Index: ZendEngine2/zend_strtod.c >> diff -u ZendEngine2/zend_strtod.c:1.37 ZendEngine2/zend_strtod.c:1.38 >> --- ZendEngine2/zend_strtod.c:1.37 Wed Mar 26 14:23:02 2008 >> +++ ZendEngine2/zend_strtod.c Sun Jul 27 11:29:59 2008 >> @@ -89,7 +89,7 @@ >> * directly -- and assumed always to succeed. >> */ >> >> -/* $Id: zend_strtod.c,v 1.37 2008/03/26 14:23:02 scottmac Exp $ */ >> +/* $Id: zend_strtod.c,v 1.38 2008/07/27 11:29:59 dmitry Exp $ */ >> >> #include >> #include >> @@ -991,9 +991,9 @@ >> >> static double ulp (double _x) /* {{{ */ >> { >> - _double x; >> + volatile _double x; >> register Long L; >> - _double a; >> + volatile _double a; >> >> value(x) = _x; >> L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1; >> @@ -1035,7 +1035,7 @@ >> { >> ULong *xa, *xa0, w, y, z; >> int k; >> - _double d; >> + volatile _double d; >> #ifdef VAX >> ULong d0, d1; >> #else >> @@ -1101,7 +1101,7 @@ >> Bigint *b; >> int de, i, k; >> ULong *x, y, z; >> - _double d; >> + volatile _double d; >> #ifdef VAX >> ULong d0, d1; >> #endif >> @@ -1223,7 +1223,7 @@ >> >> static double ratio (Bigint *a, Bigint *b) /* {{{ */ >> { >> - _double da, db; >> + volatile _double da, db; >> int k, ka, kb; >> >> value(da) = b2d(a, &ka); >> @@ -1492,7 +1492,7 @@ >> Bigint *b, *b1, *delta, *mlo, *mhi, *S, *tmp; >> double ds; >> char *s, *s0; >> - _double d, d2, eps; >> + volatile _double d, d2, eps; >> >> value(d) = _d; >> >> @@ -2056,7 +2056,7 @@ >> e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign; >> CONST char *s, *s0, *s1; >> double aadj, aadj1, adj; >> - _double rv, rv0; >> + volatile _double rv, rv0; >> Long L; >> ULong y, z; >> Bigint *bb, *bb1, *bd, *bd0, *bs, *delta, *tmp; >> >> >> >> -- >> Zend Engine CVS Mailing List (http://cvs.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> >> -- >> Stanislav Malyshev, Zend Software Architect >> stas@zend.com http://www.zend.com/ >> (408)253-8829 MSN: stas@zend.com >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> > >