> The scheme is good - although, I basically have the same
> comments as Michael:
>
> * It is simpler to parse the version numbers if stable
> versions at patchlevel 0 also include the patchlevel.
You shouldn't *have* to parse anything after the x.yy, because none of it
affects the behaviour of the compiler. A compiler named x.yy(.z), where yy
is even, is a compiler with a well-defined set of library interfaces.
Conditional compilation should check for these values of yy only.
An odd-numbered compiler is viewed as approaching the limit of the next
even-numbered compiler, so the interfaces presented by x.yy.z (y odd, z is a
date) are the same as x.(yy+1). This of course won't be true for certain
values of z because the interfaces evolve over time, but the fix is to
"upgrade to the latest value of z".
> * There is not much point in having the substring "pre" in
> the patchlevel of unstable versions - especially, as the
> "odd versions are unstable" scheme is becoming more and
> more widespread (ie, the need for "pre" as a comment is
> not really clear and as the scheme for the third digit is
> completely different from stable versions, unstable
> version numbers stand out anyway).
Agreed. Let's remove the "pre", leaving the unstable compilers named
x.yy.YYYYMMDD.
Cheers,
Simon