ID: 30695 Updated by: [EMAIL PROTECTED] Reported By: php_bug at cklowe dot com Status: Assigned Bug Type: Math related Operating System: Win32 PHP Version: 4CVS-2004-11-05 (stable) -Assigned To: jorton +Assigned To: andi New Comment:
I don't have Zend commit access. Previous Comments: ------------------------------------------------------------------------ [2004-11-26 13:46:54] [EMAIL PROTECTED] gcc bugfix seems to be creating more trouble that its worth. please revert it before we release 4.3.10. ------------------------------------------------------------------------ [2004-11-14 23:51:31] php_bug at cklowe dot com Yes, given the implications I believe a reversion would be wise. ------------------------------------------------------------------------ [2004-11-10 23:11:20] [EMAIL PROTECTED] THis is a change most likely caused by Joe's patches to it. I say we should revert it as it breaks too many scripts. ------------------------------------------------------------------------ [2004-11-10 19:30:11] php_bug at cklowe dot com I see your point, and I'm happy that integers are unsigned. What worries me is that large hex initialisers (>= 0x80000000) are not doing their job. This is a change in behaviour. Python v 2.4 and above, uses Large Integers for 0x80000000 which seems acceptable. In previous versions it did the Right Thing and treated 0x80000000 as -214783648. Bitwise operations work as expected. PHP did the Right Thing in version 4.3.8. As of the current snapshot it no longer does the Right Thing. ------------------------------------------------------------------------ [2004-11-10 18:59:13] [EMAIL PROTECTED] >This is *not* a signed/unsigned integer problem No, why? It is. And it can be clearly seen in this example: <? define ("BIG_NUM", 0x80000000); $big_var = 0x80000000; printf("%u, %u\n", BIG_NUM, $big_var); printf("%f, %f\n", BIG_NUM, $big_var); ?> Overflown integers are treated as floats and you cannot use bitwise operators on floats (as I understand you use them to check access privileges). ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/30695 -- Edit this bug report at http://bugs.php.net/?id=30695&edit=1