Details
-
Bug
-
Resolution: Fixed
-
Major
-
62,535
Description
Was looking #reactos when I saw:
http://build.reactos.org/builders/CMake_x86_MSVCWin%20Debug/builds/6320
The problem is mostly a function that use variable-length array:
http://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html
FAILED: "D:\PROGRA~1\Microsoft Visual Studio 10.0\VC\bin\cl.exe" /nologo /X /GR- /EHs-c- /GS- /Zl /W3 /wd4290 /we4013 /we4020 /we4022 /we4047 /we4098 /we4113 /we4129 /we4229 /we4700 /we4603 /w14115 /Zi /Ob0 /Od -Idll\win32\usp10 -IP:\Trunk_slave\x86_MSVC\build\dll\win32\usp10 -IP:\Trunk_slave\x86_MSVC\build\include -IP:\Trunk_slave\x86_MSVC\build\include\psdk -IP:\Trunk_slave\x86_MSVC\build\include\dxsdk -Iinclude -Iinclude\psdk -Iinclude\dxsdk -Iinclude\reactos -IP:\Trunk_slave\x86_MSVC\build\include\crt -IP:\Trunk_slave\x86_MSVC\build\include\ddk -IP:\Trunk_slave\x86_MSVC\build\include\ndk -IP:\Trunk_slave\x86_MSVC\build\include\reactos -IP:\Trunk_slave\x86_MSVC\build\include\reactos\libs -IP:\Trunk_slave\x86_MSVC\build\include\reactos\wine /FIM:/build-vs10-i386/reactos/dll/win32/usp10/usp10.pch /YuM:/build-vs10-i386/reactos/dll/win32/usp10/usp10.pch /showIncludes -DDBG=1 -DUSE_COMPILER_EXCEPTIONS -DWIN32 -DWINVER=0x502 -D_DLL -D_M_IX86 -D_SEH_ENABLE_TRACE -D_SETUPAPI_VER=0x502 -D_USE_32BIT_TIME_T -D_WIN32_IE=0x600 -D_WIN32_WINDOWS=0x502 -D_WIN32_WINNT=0x502 -D_WINDOWS -D_WINKD_=1 -D_X86_ -D_REACTOS_ -D_STDC=1 -DUSE_CRTIMP -DWINESRC_ -D_i386_ -Di386 -Dinline=__inline -Dusp10_EXPORTS /Fodll\win32\usp10\CMakeFiles\usp10.dir\bidi.c.obj /Fddll\win32\usp10\CMakeFiles\usp10.dir/ -c P:\Trunk_slave\x86_MSVC\build\dll\win32\usp10\bidi.c
P:\Trunk_slave\x86_MSVC\build\dll\win32\usp10\bidi.c(822) : error C2057: expected constant expression
P:\Trunk_slave\x86_MSVC\build\dll\win32\usp10\bidi.c(822) : error C2466: cannot allocate an array of constant size 0
P:\Trunk_slave\x86_MSVC\build\dll\win32\usp10\bidi.c(822) : error C2133: 'runs' : unknown size
Which basically is:
819 jimtabor 62535 static void computeIsolatingRunsSet(unsigned baselevel, WORD *pcls, WORD *pLevel, int uCount, struct list *set){
...
Run runs[uCount];
"You can use the function alloca to get an effect much like variable-length arrays. The function alloca is available in many other C implementations (but not in all). On the other hand, variable-length arrays are more elegant. "