aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2021-06-03 10:35:27 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2021-06-03 10:35:27 -0400
commite84fe25f6386666efe1ead4304693d91d7555e7a (patch)
tree0bf2efdf41dda6b280e28861af79cd5f941226f6
parent4bdc6e17c9dc621f9502a84abceb2e17ae0418f8 (diff)
downloadgcc-e84fe25f6386666efe1ead4304693d91d7555e7a.zip
gcc-e84fe25f6386666efe1ead4304693d91d7555e7a.tar.gz
gcc-e84fe25f6386666efe1ead4304693d91d7555e7a.tar.bz2
analyzer: show types for poisoned_svalue and compound_svalue
gcc/analyzer/ChangeLog: * svalue.cc (poisoned_svalue::dump_to_pp): Dump type. (compound_svalue::dump_to_pp): Dump any type. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r--gcc/analyzer/svalue.cc29
1 files changed, 23 insertions, 6 deletions
diff --git a/gcc/analyzer/svalue.cc b/gcc/analyzer/svalue.cc
index 897e84e..a16563d 100644
--- a/gcc/analyzer/svalue.cc
+++ b/gcc/analyzer/svalue.cc
@@ -735,9 +735,17 @@ void
poisoned_svalue::dump_to_pp (pretty_printer *pp, bool simple) const
{
if (simple)
- pp_printf (pp, "POISONED(%s)", poison_kind_to_str (m_kind));
+ {
+ pp_string (pp, "POISONED(");
+ print_quoted_type (pp, get_type ());
+ pp_printf (pp, ", %s)", poison_kind_to_str (m_kind));
+ }
else
- pp_printf (pp, "poisoned_svalue(%s)", poison_kind_to_str (m_kind));
+ {
+ pp_string (pp, "poisoned_svalue(");
+ print_quoted_type (pp, get_type ());
+ pp_printf (pp, ", %s)", poison_kind_to_str (m_kind));
+ }
}
/* Implementation of svalue::accept vfunc for poisoned_svalue. */
@@ -1228,17 +1236,26 @@ compound_svalue::dump_to_pp (pretty_printer *pp, bool simple) const
if (simple)
{
pp_string (pp, "COMPOUND(");
+ if (get_type ())
+ {
+ print_quoted_type (pp, get_type ());
+ pp_string (pp, ", ");
+ }
+ pp_character (pp, '{');
m_map.dump_to_pp (pp, simple, false);
- pp_character (pp, ')');
+ pp_string (pp, "})");
}
else
{
pp_string (pp, "compound_svalue (");
- pp_string (pp, ", ");
+ if (get_type ())
+ {
+ print_quoted_type (pp, get_type ());
+ pp_string (pp, ", ");
+ }
pp_character (pp, '{');
m_map.dump_to_pp (pp, simple, false);
- pp_string (pp, "}, ");
- pp_character (pp, ')');
+ pp_string (pp, "})");
}
}