ID: 39130 Updated by: [EMAIL PROTECTED] Reported By: ben dot yan at msn dot com Status: Assigned Bug Type: Compile Failure Operating System: Windows PHP Version: 5.2.0RC5 Assigned To: wez New Comment:
I've seen this before; I think have the fix on a company laptop that is currently occupied and I'll commit it just as soon as I can get access to it again. Previous Comments: ------------------------------------------------------------------------ [2006-10-12 08:28:29] [EMAIL PROTECTED] Wez, you added those lines for VC++ 2005 compability. Could you have a look? ------------------------------------------------------------------------ [2006-10-11 18:29:43] ben dot yan at msn dot com Description: ------------ Compile with VS.NET 2005 c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(39) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(78) : error C2466: cannot allocate an array of constant size 0 Reproduce code: --------------- look the zend.h : ... #include <stdio.h> /* * general definitions */ #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif Expected result: ---------------- Look the line 151 at the <../main/config.w32.h>: /* vs.net 2005 has a 64-bit time_t. This will likely break * 3rdParty libs that were built with older compilers; switch * back to 32-bit */ #define _USE_32BIT_TIME_T 1 #define HAVE_STDLIB_H 1 so the config.w32.h should be included first. But it isn't so in the zend.h: #include <stdio.h> /* * general definitions */ #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif This would induce the compile error. and if #include <stdio.h> BEHIND the #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif ,it will be ok. Actual result: -------------- error C2466: cannot allocate an array of constant size 0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39130&edit=1