aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/svalue.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/analyzer/svalue.cc')
-rw-r--r--gcc/analyzer/svalue.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/analyzer/svalue.cc b/gcc/analyzer/svalue.cc
index eabb13a..99b5507 100644
--- a/gcc/analyzer/svalue.cc
+++ b/gcc/analyzer/svalue.cc
@@ -910,6 +910,20 @@ unmergeable_svalue::implicitly_live_p (const svalue_set &live_svalues,
/* class compound_svalue : public svalue. */
+compound_svalue::compound_svalue (tree type, const binding_map &map)
+: svalue (calc_complexity (map), type), m_map (map)
+{
+ /* All keys within the underlying binding_map are required to be concrete,
+ not symbolic. */
+#if CHECKING_P
+ for (iterator_t iter = begin (); iter != end (); ++iter)
+ {
+ const binding_key *key = (*iter).first;
+ gcc_assert (key->concrete_p ());
+ }
+#endif
+}
+
/* Implementation of svalue::dump_to_pp vfunc for compound_svalue. */
void