DMD needs branches

Walter Bright newshound1 at digitalmars.com
Thu Apr 12 01:46:36 PDT 2007


Lars Ivar Igesund wrote:
> Walter Bright wrote:
> 
>> Chris Miller wrote:
>>> I know, I know, report bugs. This doesn't cut it. Reporting bugs is hard
>>> as hell and time consuming. I need time to report bugs. Now I have to
>>> either restrict use to specific compiler versions, which people don't
>>> always know about and report their issues back to me, until I remind
>>> them they need to downgrade their compiler (which isn't always an option
>>> if they need bug fixes), or I have to rush to fix my code to workaround
>>> such issues and report bugs. If there was a stable branch, I could get
>>> the code working with the unstable branch at a reasonable pace.
>> Please let me know which issues are breaking your code. I'll be sure
>> they get in the test suite so they'll never break again.
> 
> This was said (many times!) back when the date for 1.0 was decided upon -
> there is no single point in making such a milestone, if there is no actual
> way for the user to have it enforced. One could argue that they should
> stick with DMD 1.000, but it has serious bugs too which has been fixed in
> later releases, but when these releases create new bugs (even when using
> the -v1 switch), then you in reality have no stable 1.0 branch. It is
> useless as it is.

The test suite is run before every new release. If things break with a 
new release, it is because the case isn't reflected in the test suite. 
Every fixed bug goes in to the test suite. For example, Kris posted two 
things that broke with the 1.011 update. Both are fixed now, and both 
are now in the test suite. They'll stay fixed.

Over time, the suite has a ratchet effect, with things getting better 
and better. I've been using that system for decades with the C++ 
compiler, and it's pretty rare for an update to break anything.

But if bugs aren't reported, then they don't get fixed, and the test 
case never winds up in the test suite.

The only way to get a stable system is to report bugs, fix them, and put 
the cases in the test suite. I tend to put priority on fixing things 
that break existing code; I know how maddening that can be.



More information about the Digitalmars-d mailing list