diff options
author | Martin Liska <mliska@suse.cz> | 2019-10-22 11:58:27 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-10-22 09:58:27 +0000 |
commit | 076222782e4558e0bd22711c6fdcc0faf0882daf (patch) | |
tree | 3cbd3dcafcbcaf3939736dfe771309b5915a6263 /gcc/optinfo-emit-json.cc | |
parent | fc25649ccd251d9a6c2e27ac821276caaea986e4 (diff) | |
download | gcc-076222782e4558e0bd22711c6fdcc0faf0882daf.zip gcc-076222782e4558e0bd22711c6fdcc0faf0882daf.tar.gz gcc-076222782e4558e0bd22711c6fdcc0faf0882daf.tar.bz2 |
Come up with json::integer_number and use it in GCOV.
2019-10-22 Martin Liska <mliska@suse.cz>
* diagnostic-format-json.cc (json_from_expanded_location):
Use json::integer_number.
* gcov.c (output_intermediate_json_line): Use new
json::integer_number.
(output_json_intermediate_file): Likewise.
* json.cc (number::print): Move to ...
(float_number::print): ... this.
(integer_number::print): New.
(test_writing_numbers): Move to ...
(test_writing_float_numbers): ... this.
(test_writing_integer_numbers): New.
(json_cc_tests): Register test_writing_integer_numbers.
* json.h (class value): Add forward declaration
for float_number and integer_number.
(enum kind): Add JSON_INTEGER and JSON_FLOAT.
(class number): Move to ...
(class float_number): ... this.
(class integer_number): New.
* optinfo-emit-json.cc (optrecord_json_writer::impl_location_to_json):
Use json::integer_number.
(optrecord_json_writer::location_to_json): Likewise.
(optrecord_json_writer::profile_count_to_json): Likewise.
(optrecord_json_writer::pass_to_json): Likewise.
From-SVN: r277284
Diffstat (limited to 'gcc/optinfo-emit-json.cc')
-rw-r--r-- | gcc/optinfo-emit-json.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/optinfo-emit-json.cc b/gcc/optinfo-emit-json.cc index 1cfcdfe..1ca4f14 100644 --- a/gcc/optinfo-emit-json.cc +++ b/gcc/optinfo-emit-json.cc @@ -181,7 +181,7 @@ optrecord_json_writer::impl_location_to_json (dump_impl_location_t loc) { json::object *obj = new json::object (); obj->set ("file", new json::string (loc.m_file)); - obj->set ("line", new json::number (loc.m_line)); + obj->set ("line", new json::integer_number (loc.m_line)); if (loc.m_function) obj->set ("function", new json::string (loc.m_function)); return obj; @@ -196,8 +196,8 @@ optrecord_json_writer::location_to_json (location_t loc) expanded_location exploc = expand_location (loc); json::object *obj = new json::object (); obj->set ("file", new json::string (exploc.file)); - obj->set ("line", new json::number (exploc.line)); - obj->set ("column", new json::number (exploc.column)); + obj->set ("line", new json::integer_number (exploc.line)); + obj->set ("column", new json::integer_number (exploc.column)); return obj; } @@ -207,7 +207,7 @@ json::object * optrecord_json_writer::profile_count_to_json (profile_count count) { json::object *obj = new json::object (); - obj->set ("value", new json::number (count.to_gcov_type ())); + obj->set ("value", new json::integer_number (count.to_gcov_type ())); obj->set ("quality", new json::string (profile_quality_as_string (count.quality ()))); return obj; @@ -262,7 +262,7 @@ optrecord_json_writer::pass_to_json (opt_pass *pass) && (pass->optinfo_flags & optgroup->value)) optgroups->append (new json::string (optgroup->name)); } - obj->set ("num", new json::number (pass->static_pass_number)); + obj->set ("num", new json::integer_number (pass->static_pass_number)); return obj; } |