aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-07-25 10:42:42 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-07-25 08:42:42 +0000
commite9e4348d68fd2a013f8b4c74b10ce8a3e551138d (patch)
treec2f0cd73d99e25bb32e2d0c61050a7b9d4d389a6
parentaa00995cd77d50a1a2f132d1ff00257f2efadc0a (diff)
downloadgcc-e9e4348d68fd2a013f8b4c74b10ce8a3e551138d.zip
gcc-e9e4348d68fd2a013f8b4c74b10ce8a3e551138d.tar.gz
gcc-e9e4348d68fd2a013f8b4c74b10ce8a3e551138d.tar.bz2
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gcov-io.h18
-rw-r--r--gcc/gcov-iov.c6
3 files changed, 18 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f812d16..85dd571 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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>
PR middle-end/66726
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 3446407..bbf013a 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -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
are derived from 4 character ASCII strings. The version number
- consists of the single character major version number, a two
- character minor version number (leading zero for versions less than
- 10), and a single character indicating the status of the release.
+ consists of a two character major version number
+ (first digit starts from 'A' letter to not to clash with the older
+ 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.
Because, by good fortune, these are in alphabetical order, string
collating can be used to compare version strings. Be aware that
the 'e' designation will (naturally) be unstable and might be
- incompatible with itself. For gcc 3.4 experimental, it would be
- '304e' (0x33303465). When the major version reaches 10, the
- letters A-Z will be used. Assuming minor increments releases every
- 6 months, we have to make a major increment every 50 years.
- Assuming major increments releases every 5 years, we're ok for the
- next 155 years -- good enough for me.
+ incompatible with itself. For gcc 17.0 experimental, it would be
+ 'B70e' (0x42373065). As we currently do not release more than 5 minor
+ releases, the single character should be always fine. Major number
+ is currently changed roughly every year, which gives us space
+ for next 250 years (maximum allowed number would be 259.9).
A record has a tag, length and variable amount of data.
diff --git a/gcc/gcov-iov.c b/gcc/gcov-iov.c
index 202f32a..f87445a 100644
--- a/gcc/gcov-iov.c
+++ b/gcc/gcov-iov.c
@@ -58,9 +58,9 @@ main (int argc, char **argv)
|| strcmp (argv[2], "prerelease") == 0)
phase = '*';
- v[0] = (major < 10 ? '0' : 'A' - 10) + major;
- v[1] = (minor / 10) + '0';
- v[2] = (minor % 10) + '0';
+ v[0] = (major / 10) + 'A';
+ v[1] = (major % 10) + '0';
+ v[2] = minor + '0';
v[3] = phase;
for (ix = 0; ix != 4; ix++)