diff --git a/src/pointer-analysis/value_set_analysis.h b/src/pointer-analysis/value_set_analysis.h index 9c87419ca99..22dd4a98169 100644 --- a/src/pointer-analysis/value_set_analysis.h +++ b/src/pointer-analysis/value_set_analysis.h @@ -13,6 +13,7 @@ Author: Daniel Kroening, kroening@kroening.com #include #include #include +#include #include "value_set_domain.h" #include "value_sets.h" @@ -108,6 +109,26 @@ class value_set_analysis_baset: dest, baset::ns); } + + /*******************************************************************\ + + Function: value_set_analysis_baset::is_singular + + Inputs: The set of expressions to check. + + Outputs: true, if it contains only one expression and + that expression is a symbol, + false, otherwise. + + Purpose: Get whether a set of expressions can have a strong update + or not. + + \*******************************************************************/ + + virtual bool is_singular(const std::set &values) + { + return values.size()==1 && values.begin()->id()==ID_symbol; + } }; typedef value_set_analysis_baset value_set_analysist;