DMD needs branches

Tom S h3r3tic at remove.mat.uni.torun.pl
Wed Apr 11 15:11:16 PDT 2007


Chris Miller wrote:
> I'm sure this was brought up in the past, but DMD definitely needs 
> stable and unstable branches.

Agreed.


> -v1 doesn't cut it. My code is compiled with -v1 and still breaks with 
> new DMD versions.

Same here.


> Each new DMD version is bug-ridden. This new one 1.011 is pretty bad!

It's even worse than this in my case. With a few friends, I'm doing a 
project for the Team Programming course at my univ. It's a First Person 
Shooter, containing more than 55k lines of our own D code plus some 200k 
of dependencies, such as DDL, Mango, Code Analyzer, Derelict, Enki, 
MinTL and various bindings. And we're stuck with... DMD 0.175. I've 
tried every single DMD release which came after 0.175, including 1.010b, 
and each has its own problems. The old bugs get slowly fixed, but new 
ones appear at a frightening pace. DMD 1.011 adds some more mixin issues 
to the pile, and even with -v1, considers 'ref' a keyword.


The worst problems with the new DMDs are codegen issues. For instance, 
http://d.puremagic.com/issues/show_bug.cgi?id=1068

Earlier, 1.007 had a weird NRVO problem. It could return garbage from 
functions when their calls appeared at the return statement. It seems to 
be gone, but no one filled a bug report and I'm not sure if it's not 
just lurking someplace else.

My team and me have first got stuck with DMD 0.175 when 0.176 changed 
the ABI and DDL stopped working for us. But then I updated DDL to the 
ABI of DMD 1.0. I can't even test it because bugs have appeared over the 
time. Some made Mango not compile, thus sending DDL to bite the dust as 
well. The latest and best one is the invalid codegen issue from the link 
above. I can't even make our game's GUI run because I'm getting random 
access violations.
After updating to DMD 1.011, I had some errors telling me about it not 
being able to find identifiers that certainly were there. Yet Another 
Mixin Bug.

D really needs to get stable before anything serious can be made in 
it... Not that I don't like the new features. The CTFE, mixins and 
smarter IFTI are just great... If only I could use them. Our project 
contains numerous workarounds for the issues in DMD 0.175 because we 
can't just report a bug and hope we'll be able to continue with the next 
DMD release. We're stuck with 0.175 and we've been stuck with it for the 
last 5 months.

I'm a huge fan of D and a long-time user, but I simply don't know what 
to tell people when they ask why we're using some archaic 0.175 version 
and not the new one with all the spiffy features. Please, fix D.


--
Tomasz Stachowiak
http://h3.team0xf.com/
h3/h3r3tic on #D freenode



More information about the Digitalmars-d mailing list