Hello.
After discussion with the consumers of the format:
https://github.com/gcovr/gcovr/issues/282#issuecomment-1534239536
I'm going to push a patch that prints JSON version in gcov -v.
Thanks,
Martin
From d879d68eb309561d266ddf734ab8c69f4fef3874 Mon Sep 17 00:00:00 2001
From: Martin Liska <mli...@suse.cz>
Date: Thu, 4 May 2023 10:27:55 +0200
Subject: [PATCH] gcov: add GCOV format version to gcov -v
gcc/ChangeLog:
* gcov.cc (GCOV_JSON_FORMAT_VERSION): New definition.
(print_version): Use it.
(generate_results): Likewise.
---
gcc/gcov.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gcc/gcov.cc b/gcc/gcov.cc
index d96b4f77e3b..2fad6aa7ede 100644
--- a/gcc/gcov.cc
+++ b/gcc/gcov.cc
@@ -58,6 +58,8 @@ using namespace std;
#include "gcov-io.h"
#include "gcov-io.cc"
+#define GCOV_JSON_FORMAT_VERSION "2"
+
/* The gcno file is generated by -ftest-coverage option. The gcda file is
generated by a program compiled with -fprofile-arcs. Their formats
are documented in gcov-io.h. */
@@ -964,6 +966,7 @@ static void
print_version (void)
{
fnotice (stdout, "gcov %s%s\n", pkgversion_string, version_string);
+ fnotice (stdout, "JSON format version: %s\n", GCOV_JSON_FORMAT_VERSION);
fprintf (stdout, "Copyright %s 2023 Free Software Foundation, Inc.\n",
_("(C)"));
fnotice (stdout,
@@ -1546,7 +1549,7 @@ generate_results (const char *file_name)
gcov_intermediate_filename = get_gcov_intermediate_filename (file_name);
json::object *root = new json::object ();
- root->set ("format_version", new json::string ("2"));
+ root->set ("format_version", new json::string (GCOV_JSON_FORMAT_VERSION));
root->set ("gcc_version", new json::string (version_string));
if (bbg_cwd != NULL)
--
2.40.1