On Thursday, 16 October 2014 at 21:23:09 UTC, Trass3r wrote:
What should I do? Am I stuck with not using -O and -inline for
now, hoping that things will improve in the future?
Step 1) DustMite the heck out of it and create a bug report.
Step 2) Start using ldc/gdc for release build
I had planned to use GDC/LDC too, but GDC is 2.064, so no option
for me. LDC is 2.065, that would still be ok for my program
(although I've just updated my code to 2.066). I always use DMD
for development (short compilation times), and even for release
builds I use DMD, if I build the program in order to give it out
for first tests. Andrei mentioned that DMD built programs are
only around 10% slower than GDC/LDC builds, in many cases I can
put up with that. So DMD should not have any serious issues with
release builds, imo, even if alternatives exist.
Next time I'll use DustMite too, once I've learned how to use it
properly. However, I managed to find the place where things went
wrong quite fast by using the oldest and (sometimes still the
best) debugging tool: inserting writeln() statements along the
path of initializations/routines in the program.