aboutsummaryrefslogtreecommitdiff
path: root/gcc/optinfo-emit-json.cc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-10-22 11:58:27 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-10-22 09:58:27 +0000
commit076222782e4558e0bd22711c6fdcc0faf0882daf (patch)
tree3cbd3dcafcbcaf3939736dfe771309b5915a6263 /gcc/optinfo-emit-json.cc
parentfc25649ccd251d9a6c2e27ac821276caaea986e4 (diff)
downloadgcc-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.cc10
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;
}