[Issue 17775] dmd master __VERSION__ should match the major release that it will be for

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed Aug 23 10:09:26 PDT 2017


https://issues.dlang.org/show_bug.cgi?id=17775

--- Comment #4 from Jonathan M Davis <issues.dlang at jmdavisProg.com> ---
(In reply to ZombineDev from comment #3)
> I agree that it's quite annoying. Perhaps we can add another predefined
> constant like __IS_DEV_VERSION__ which would evaluate to true iff the
> ddmd.globals.global._version has any non-digit character after the minor
> version (or simply if its length is > 8)?

The problem with that is that then you're testing specifically for dmd master
not that the code is newer than a particular release. If a change is made in
dmd master that's going to go in the next release, and __VERSION__ in dmd
master is the version of the next release, then you can check __VERSION__, and
the code will continue to do the right thing once dmd master becomes the next
release, but if you're checking __IS_DEV_VERSION__, then that doesn't work.
You'd have to change your code to use __VERSION__ once the next release is out.

While I can understand that with however the version numbers are currently
being generated, there may be issues having __VERSION__ be the number of the
next release in master rather than the current reelase, I really think that if
you consider what __VERSION__ is for, it really doesn't make sense for it to
give the same number as the most recent release for master. That destroys its
ability to be used for what it's designed for when dmd master is involved.

--


More information about the Digitalmars-d-bugs mailing list