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