digitalmars.D.learn - building git druntime - range violation in extendedPathThen
- Nick Treleaven (32/32) Dec 06 2017 Hi,
- Nick Treleaven (13/16) Dec 07 2017 For now this workaround lets me compile druntime:
Hi, I checked out dmd and druntime this morning. dmd seems to build fine, but when I try druntime I get this error: $ make -f win32.mak ..\dmd\generated\windows\release\32\dmd -conf= -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di src\core\sync\barrier.d DMD v2.077.1 DEBUG core.exception.RangeError ddmd\root\file.d(199): Range violation ---------------- 0x005D8784 in _d_arrayboundsp 0x0054832C in nothrow void* ddmd.root.filename.extendedPathThen!(ddmd.root.file.File.read().__lambda1).extendedPathThen(const(char*)).__lambda2!(wchar[] .__lambda2(wchar[]) at C:\git\dmd\src\ddmd\root\filename.d(804) 0x005491CF in nothrow void* ddmd.root.filename.toWStringzThen!(ddmd.root.filename.extendedPathThen!(ddmd.root.file.File.read().__lambda1).extendedPathThen(const(char*)).__lambda2).toWStrin zThen(const(char*)) at C:\git\dmd\src\ddmd\root\filename.d(870) 0x005482C2 in nothrow void* ddmd.root.filename.extendedPathThen!(ddmd.root.file.File.read().__lambda1).extendedPa hThen(const(char*)) at C:\git\dmd\src\ddmd\root\filename.d(834) 0x005480E8 in File at C:\git\dmd\src\ddmd\root\file.d(198) 0x004BD5F5 in int ddmd.mars.tryMain(uint, const(char)**) at C:\git\dmd\src\ddmd\mars.d(327) 0x004BF81F in _Dmain at C:\git\dmd\src\ddmd\mars.d(1116) 0x005DAC87 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().__lambda1() 0x005DAC4B in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() 0x005DAB4C in _d_run_main 0x004C1880 in main at C:\git\dmd\src\ddmd\root\stringtable.d(7) 0x005F8FF5 in mainCRTStartup 0x76D83823 in BaseThreadInitThunk 0x7773A9BD in LdrInitializeThunk --- errorlevel 1 Any ideas?
Dec 06 2017
On Wednesday, 6 December 2017 at 17:11:49 UTC, Nick Treleaven wrote:0x005482C2 in nothrow void* ddmd.root.filename.extendedPathThen!(ddmd.root.file.File.read().__lambda1).extendedPa hThen(const(char*)) at C:\git\dmd\src\ddmd\root\filename.d(834) 0x005480E8 in File at C:\git\dmd\src\ddmd\root\file.d(198)For now this workaround lets me compile druntime: --- a/src/ddmd/root/file.d +++ b/src/ddmd/root/file.d -193,6 +193,8 nothrow: // work around Windows file path length limitation // (see documentation for extendedPathThen). + if (!name[0]) + return true; HANDLE h = name.extendedPathThen! (p => CreateFileW(&p[0], GENERIC_READ,
Dec 07 2017