GCOV: introduce --json-format.
commit8d11df62c9eb0ac9a5e64338b41b596ce7c73808
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Oct 2018 12:00:54 +0000 (29 12:00 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Oct 2018 12:00:54 +0000 (29 12:00 +0000)
tree0712a4f4a8835243bcd37abe2d4cdd6c0470e151
parent6e306445ce38982207ce4e9124caf1a0d3662712
GCOV: introduce --json-format.

2018-10-29  Martin Liska  <mliska@suse.cz>

* Makefile.in: Make dependency to json.o.
* doc/gcov.texi: Document new JSON format, remove
old intermediate format documentation.
* gcov.c (struct function_info): Come up with m_name and
m_demangled_name.
(function_info::function_info): Initialize it.
(function_info::~function_info): Release it.
(main): Rename flag_intermediate_format to flag_json_format.
(print_usage): Describe --json-format.
(process_args): Set flag_json_format.
(output_intermediate_line): Remove.
(output_intermediate_json_line): Likewise.
(get_gcov_intermediate_filename): Return new extension
".gcov.json.gz".
(output_intermediate_file): Implement JSON emission.
(output_json_intermediate_file): Implement JSON emission.
(generate_results): Use ::get_name for function name.
Handle JSON output file.
(read_graph_file): Use ::get_name instead of cplus_demangle.
(read_count_file): Likewise.
(solve_flow_graph): Likewise.
(add_line_counts): Likewise.
(accumulate_line_counts): Use new flag_json_format.
(output_function_details): Use ::get_name instead of cplus_demangle.
(output_lines): Likewise.
* json.cc (test_writing_literals): Add new tests.
* json.h (class literal): Add new boolean constructor.
2018-10-29  Martin Liska  <mliska@suse.cz>

* g++.dg/gcov/gcov-8.C: Do not check intermediate format.
* lib/gcov.exp: Remove legacy verify-intermediate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@265587 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/doc/gcov.texi
gcc/gcov.c
gcc/json.cc
gcc/json.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/gcov/gcov-8.C
gcc/testsuite/lib/gcov.exp