<p dir="ltr">Could you try build with the dmd beta? </p>
<div class="gmail_quote">On 30 Jan 2014 02:30, "Jussi Jumppanen" <<a href="mailto:jussij@zeusedit.com">jussij@zeusedit.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tuesday, 28 January 2014 at 09:58:27 UTC, Brian Schott wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
New DCD and DScanner betas are ready for testing.<br>
</blockquote>
<br>
I'm no D expert so I'm not really sure if this is a bug with DCD<br>
or<br>
with the DMD compiler itself? I suspect it might be the later?<br>
<br>
I was testing your latest DCD against the Zeus IDE but came across<br>
the following issue when trying to build DCD.<br>
<br>
I tried doing the build using the zip files as follows:<br>
<br>
1) Download the dmd.2.064.2.zip from here:<br>
<br>
<a href="http://dlang.org/download.html" target="_blank">http://dlang.org/download.html</a><br>
<br>
2) Download the DCD, DScanner and msgpack source zip files from<br>
these pages:<br>
<br>
<a href="https://github.com/Hackerpilot/DCD/tree/0.3.0-beta1" target="_blank">https://github.com/<u></u>Hackerpilot/DCD/tree/0.3.0-<u></u>beta1</a><br>
<a href="https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta1" target="_blank">https://github.com/<u></u>Hackerpilot/Dscanner/tree/0.1.<u></u>0-beta1</a><br>
<a href="https://github.com/msgpack/msgpack-d" target="_blank">https://github.com/msgpack/<u></u>msgpack-d</a><br>
<br>
When I run the BUILD.BAT the client exe builds just fine but<br>
the build of the server exe hangs.<br>
<br>
So I played around with the BUILD.BAT and found the build was<br>
hanging on this file:<br>
<br>
dscanner/stdx/d/lexer.d<br>
<br>
I then ran this command to just build that one file:<br>
<br>
dmd -v -wi dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner<br>
-O -release -noboundscheck -inline -ofdcd-server.exe<br>
<br>
That command gives the compiler trace output shown below.<br>
<br>
It appears that the dmd.exe hang on this file with this as the<br>
last<br>
line of trace output:<br>
<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).advance<br>
<br>
The task manager shows the dmd.exe running but just continually<br>
consuming more and more memory.<br>
<br>
Compiler Trace Output<br>
---------------------<br>
<br>
NOTE: Some excessive trace output trimmed with ... characters.<br>
<br>
D:\projects\dcd\DCD-0.3.0-<u></u>beta2>dmd -v -wi<br>
dscanner/stdx/d/lexer.d -Imsgpack-d/src -Idscanner -O -release<br>
-noboundscheck<br>
-inline -ofdcd-server.exe<br>
binary c:\dmd2\windows\bin\dmd.exe<br>
version v2.064<br>
config c:\dmd2\windows\bin\sc.ini<br>
parse lexer<br>
importall lexer<br>
import std.uni<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\phobos\std\uni.d)<br>
...<br>
import core.sys.windows.windows<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\druntime\import\core\sys\<u></u>windows\windows.d)<br>
import stdx.lexer (dscanner\stdx\lexer.d)<br>
semantic lexer<br>
semantic2 lexer<br>
semantic3 lexer<br>
import std.stdio<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\phobos\std\stdio.d)<br>
...<br>
import std.internal.uni_tab<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\phobos\std\internal\uni_<u></u>tab.d)<br>
semantic3 lexer<br>
...<br>
semantic3 utf<br>
semantic3 uni<br>
import std.internal.unicode_comp<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\phobos\std\internal\<u></u>unicode_comp.d)<br>
...<br>
import std.internal.unicode_decomp<br>
(c:\dmd2\windows\bin\..\..\<u></u>src\phobos\std\internal\<u></u>unicode_decomp.d)<br>
semantic3 unicode_tables<br>
...<br>
inline scan lexer<br>
code lexer<br>
function stdx.d.lexer.LexerConfig.__<u></u>xopEquals<br>
...<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).generateMask<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).<u></u>generateByteMask<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
of", "ubyte", "ucent", "uint", "ulong", "union", "unittest",<br>
"ushort", "version", "void", "volatile", "wchar", "while",<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).<u></u>generateCaseStatemen<br>
ts<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).printCase<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).front<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"])._popFront<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).empty<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).escape<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).getFront<br>
function stdx.d.lexer.DLexer.Lexer!(<u></u>ubyte,<br>
TokenStructure!(ubyte, "\x0a\x09string comment;\x0a\x0a\x09int<br>
opCmp(size_t<br>
i) const pure nothrow @safe {\x0a\x09\x09if (index < i) return<br>
-1;\x0a\x09\x09if (index > i) return 1;\x0a\x09\x09return<br>
...<br>
"with", "__DATE__", "__EOF__", "__FILE__", "__FUNCTION__",<br>
"__gshared", "__LINE__", "__MODULE__", "__parameters", "__PRE<br>
TTY_FUNCTION__", "__TIME__", "__TIMESTAMP__", "__traits",<br>
"__vector", "__VENDOR__", "__VERSION__"]).advance<br>
</blockquote></div>