diff options
author | Martin Liska <mliska@suse.cz> | 2019-03-14 10:33:54 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-03-14 09:33:54 +0000 |
commit | b81547179688b601af97fc2185489dbea1cd86b2 (patch) | |
tree | 3b014b7c0ae678b661a9596e5af81a9395664ec1 /gcc/gcov.c | |
parent | ea9d9d749c3203e9fb01267fabecad93b7f1c06c (diff) | |
download | gcc-b81547179688b601af97fc2185489dbea1cd86b2.zip gcc-b81547179688b601af97fc2185489dbea1cd86b2.tar.gz gcc-b81547179688b601af97fc2185489dbea1cd86b2.tar.bz2 |
GCOV: print {start,end}_column in JSON file and gcov-dump tool.
2019-03-14 Martin Liska <mliska@suse.cz>
* coverage.c (coverage_begin_function): Stream also
end_column.
* doc/gcov.texi: Document 2 new fields in JSON file. Improve
documentation about function declaration location.
* gcov-dump.c (tag_function): Print whole range
of function declaration.
* gcov.c (struct function_info): Add end_column field.
(function_info::function_info): Initialize it.
(output_json_intermediate_file): Output {start,end}_column
fields.
(read_graph_file): Read end_column.
From-SVN: r269678
Diffstat (limited to 'gcc/gcov.c')
-rw-r--r-- | gcc/gcov.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -283,6 +283,9 @@ struct function_info /* Last line number. */ unsigned end_line; + /* Last line column. */ + unsigned end_column; + /* Index of source file where the function is defined. */ unsigned src; @@ -631,7 +634,8 @@ function_info::function_info (): m_name (NULL), m_demangled_name (NULL), ident (0), lineno_checksum (0), cfg_checksum (0), has_catch (0), artificial (0), is_group (0), blocks (), blocks_executed (0), counts (), - start_line (0), start_column (), end_line (0), src (0), lines (), next (NULL) + start_line (0), start_column (0), end_line (0), end_column (0), + src (0), lines (), next (NULL) { } @@ -1131,7 +1135,9 @@ output_json_intermediate_file (json::array *json_files, source_info *src) function->set ("demangled_name", new json::string ((*it)->get_demangled_name ())); function->set ("start_line", new json::number ((*it)->start_line)); + function->set ("start_column", new json::number ((*it)->start_column)); function->set ("end_line", new json::number ((*it)->end_line)); + function->set ("end_column", new json::number ((*it)->end_column)); function->set ("blocks", new json::number ((*it)->get_block_count ())); function->set ("blocks_executed", @@ -1726,6 +1732,7 @@ read_graph_file (void) unsigned start_line = gcov_read_unsigned (); unsigned start_column = gcov_read_unsigned (); unsigned end_line = gcov_read_unsigned (); + unsigned end_column = gcov_read_unsigned (); fn = new function_info (); functions.push_back (fn); @@ -1739,6 +1746,7 @@ read_graph_file (void) fn->start_line = start_line; fn->start_column = start_column; fn->end_line = end_line; + fn->end_column = end_column; fn->artificial = artificial; current_tag = tag; |