Commit e9e4348d by Martin Liska Committed by Martin Liska

Adapt the numbering scheme (PR gcov-profile/64874)

	PR gcov-profile/64874
	* gcov-io.h: Update command about file format.
	* gcov-iov.c (main): Adapt the numbering scheme.

From-SVN: r238702
parent aa00995c
2016-07-25 Martin Liska <mliska@suse.cz>
PR gcov-profile/64874
* gcov-io.h: Update command about file format.
* gcov-iov.c (main): Adapt the numbering scheme.
2016-07-24 Kugan Vivekanandarajah <kuganv@linaro.org> 2016-07-24 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726 PR middle-end/66726
......
...@@ -63,19 +63,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -63,19 +63,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
Although the ident and version are formally 32 bit numbers, they Although the ident and version are formally 32 bit numbers, they
are derived from 4 character ASCII strings. The version number are derived from 4 character ASCII strings. The version number
consists of the single character major version number, a two consists of a two character major version number
character minor version number (leading zero for versions less than (first digit starts from 'A' letter to not to clash with the older
10), and a single character indicating the status of the release. numbering scheme), the single character minor version number,
and a single character indicating the status of the release.
That will be 'e' experimental, 'p' prerelease and 'r' for release. That will be 'e' experimental, 'p' prerelease and 'r' for release.
Because, by good fortune, these are in alphabetical order, string Because, by good fortune, these are in alphabetical order, string
collating can be used to compare version strings. Be aware that collating can be used to compare version strings. Be aware that
the 'e' designation will (naturally) be unstable and might be the 'e' designation will (naturally) be unstable and might be
incompatible with itself. For gcc 3.4 experimental, it would be incompatible with itself. For gcc 17.0 experimental, it would be
'304e' (0x33303465). When the major version reaches 10, the 'B70e' (0x42373065). As we currently do not release more than 5 minor
letters A-Z will be used. Assuming minor increments releases every releases, the single character should be always fine. Major number
6 months, we have to make a major increment every 50 years. is currently changed roughly every year, which gives us space
Assuming major increments releases every 5 years, we're ok for the for next 250 years (maximum allowed number would be 259.9).
next 155 years -- good enough for me.
A record has a tag, length and variable amount of data. A record has a tag, length and variable amount of data.
......
...@@ -58,9 +58,9 @@ main (int argc, char **argv) ...@@ -58,9 +58,9 @@ main (int argc, char **argv)
|| strcmp (argv[2], "prerelease") == 0) || strcmp (argv[2], "prerelease") == 0)
phase = '*'; phase = '*';
v[0] = (major < 10 ? '0' : 'A' - 10) + major; v[0] = (major / 10) + 'A';
v[1] = (minor / 10) + '0'; v[1] = (major % 10) + '0';
v[2] = (minor % 10) + '0'; v[2] = minor + '0';
v[3] = phase; v[3] = phase;
for (ix = 0; ix != 4; ix++) for (ix = 0; ix != 4; ix++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment