Building DMD with DMD or LDC

Nordlöw via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 13 15:06:40 PDT 2016


On Thursday, 13 October 2016 at 19:28:11 UTC, Daniel Kozak wrote:
> You can easy try it. Just build dmd with dmd, than with ldc. 
> And then try to compile DMD frontend with both dmd versions :)
>
>
> Dne 13.10.2016 v 21:07 Nordlöw via Digitalmars-d-learn 
> napsal(a):
>> Is there a large speed difference in compilation time 
>> depending on whether the DMD used is built using DMD or LDC?

When I replace dmd with ldmd2 in the last call of the build it 
crashes as

CC=c++ ldmd2 -ofdmd -m64 -vtls -J. -J../res -L-lstdc++ 
-version=MARS -wi -O -release -inline access.d aggregate.d 
aliasthis.d apply.d argtypes.d arrayop.d arraytypes.d attrib.d 
builtin.d canthrow.d clone.d complex.d cond.d constfold.d 
cppmangle.d ctfeexpr.d dcast.d dclass.d declaration.d 
delegatize.d denum.d dimport.d dinifile.d dinterpret.d dmacro.d 
dmangle.d dmodule.d doc.d dscope.d dstruct.d dsymbol.d 
dtemplate.d dversion.d entity.d errors.d escape.d expression.d 
func.d globals.d hdrgen.d id.d identifier.d impcnvtab.d imphint.d 
init.d inline.d intrange.d json.d lexer.d lib.d link.d mars.d 
mtype.d nogc.d nspace.d opover.d optimize.d parse.d sapply.d 
sideeffect.d statement.d staticassert.d target.d tokens.d 
traits.d utf.d visitor.d typinf.d utils.d statementsem.d safe.d 
objc_stubs.d libelf.d scanelf.d irstate.d toelfdebug.d toctype.d 
glue.d gluelayer.d todt.d tocsym.d toir.d dmsc.d tocvdebug.d 
backend/bcomplex.d backend/cc.d backend/cdef.d backend/cgcv.d 
backend/code.d backend/cv4.d backend/dt.d backend/el.d 
backend/global.d backend/obj.d backend/oper.d backend/outbuf.d 
backend/rtlsym.d backend/ty.d backend/type.d tk/dlist.d 
root/aav.d root/array.d root/ctfloat.d root/file.d 
root/filename.d root/man.d root/outbuffer.d root/port.d 
root/response.d root/rmem.d root/rootobject.d root/speller.d 
root/stringtable.d newdelete.o glue.a backend.a
tk/dlist.d(51): list_inited is thread local
backend/cgcv.d(26): ftdbname is thread local
0  ldc2            0x00000000013af6a5
1  ldc2            0x00000000013ae05e
2  ldc2            0x00000000013ae19a
3  libpthread.so.0 0x00007f3ce59443d0
4  ldc2            0x00000000012fcd94
5  ldc2            0x0000000001350a42
6  ldc2            0x00000000013532fd
7  ldc2            0x0000000001315d2a
8  ldc2            0x0000000001315e0e
9  ldc2            0x0000000001315f24
10 ldc2            0x00000000006cb40b
11 ldc2            0x00000000006e1c77
12 ldc2            0x00000000006daf86
13 ldc2            0x0000000000686488
14 ldc2            0x000000000058a1c9
15 ldc2            0x000000000068847b
16 ldc2            0x00000000013e2fff 
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv + 
15
17 ldc2            0x00000000013e2fc4
18 ldc2            0x00000000013e2eed
19 libc.so.6       0x00007f3ce506a830 __libc_start_main + 240
20 ldc2            0x000000000049c751
Error: Error executing 
/home/per/.local/ldc2-1.1.0-beta3-linux-x86_64/bin/ldc2: 
Segmentation fault (core dumped)

I'm using LDC 1.1.0-beta3 on Ubuntu 16.04.


More information about the Digitalmars-d-learn mailing list