32-bit DMD compiled programs prints "segmentation fault"

kinke kinke at gmx.net
Tue Nov 5 13:32:22 UTC 2019

On Tuesday, 5 November 2019 at 12:11:24 UTC, Adam D. Ruppe wrote:
> dmd is still significantly faster to run

Without `-O -release`, otherwise LDC is usually faster.

> and to recompile!

Depends on what you are working on. If it's just the frontend, 
then recompilation should take exactly as much time as DMD with 
appropriate settings. If it's just a .cpp file, then it's fast as 
well; if it's a C++ header file included by many .cpp's, then it 
can take some time.

>> (LDC's frontend is identical to DMD's so there's no difference 
>> there.)
> That's not quite true. They share about 98% of the code, but 
> that remaining 2% can be significant at times.

The glue code is much more than e.g. gluelayer.d and objc_glue.d; 
at its core, LDC and GDC are glue code, translating the 
frontend's AST to the LLVM/gcc intermediate representation. It 
doesn't help that DMD's source tree doesn't clearly separate 
frontend and glue code (which includes e2ir.d, s2ir.d etc.).

More information about the Digitalmars-d mailing list