diff options
Diffstat (limited to 'gcc/analyzer/call-summary.cc')
-rw-r--r-- | gcc/analyzer/call-summary.cc | 96 |
1 files changed, 44 insertions, 52 deletions
diff --git a/gcc/analyzer/call-summary.cc b/gcc/analyzer/call-summary.cc index 27fb575..a094cba 100644 --- a/gcc/analyzer/call-summary.cc +++ b/gcc/analyzer/call-summary.cc @@ -17,16 +17,8 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ -#include "config.h" -#define INCLUDE_VECTOR -#include "system.h" -#include "coretypes.h" -#include "tree.h" -#include "tree-dfa.h" -#include "diagnostic-core.h" -#include "diagnostic.h" -#include "tree-diagnostic.h" -#include "analyzer/analyzer.h" +#include "analyzer/common.h" + #include "analyzer/region-model.h" #include "analyzer/call-summary.h" #include "analyzer/exploded-graph.h" @@ -79,9 +71,9 @@ call_summary::get_user_facing_desc (pretty_printer *pp) const if (tree result = DECL_RESULT (fndecl)) { const region *result_reg - = get_state ().m_region_model->get_lvalue (result, NULL); + = get_state ().m_region_model->get_lvalue (result, nullptr); const svalue *result_sval - = get_state ().m_region_model->get_store_value (result_reg, NULL); + = get_state ().m_region_model->get_store_value (result_reg, nullptr); switch (result_sval->get_kind ()) { default: @@ -165,7 +157,7 @@ call_summary::dump (const extrinsic_state &ext_state, bool simple) const call_summary_replay::call_summary_replay (const call_details &cd, const function &called_fn, - call_summary *summary, + call_summary &summary, const extrinsic_state &ext_state) : m_cd (cd), m_summary (summary), @@ -180,7 +172,7 @@ call_summary_replay::call_summary_replay (const call_details &cd, This will be a top-level frame, since that's what's in the summary. */ const frame_region *summary_frame - = mgr->get_frame_region (NULL, called_fn); + = mgr->get_frame_region (nullptr, called_fn); unsigned idx = 0; for (tree iter_parm = DECL_ARGUMENTS (fndecl); iter_parm; @@ -218,7 +210,7 @@ call_summary_replay::call_summary_replay (const call_details &cd, /* Try to convert SUMMARY_SVAL in the summary to a corresponding svalue in the caller, caching the result. - Return NULL if the conversion is not possible. */ + Return nullptr if the conversion is not possible. */ const svalue * call_summary_replay::convert_svalue_from_summary (const svalue *summary_sval) @@ -260,7 +252,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const region *summary_reg = region_summary_sval->get_pointee (); const region *caller_reg = convert_region_from_summary (summary_reg); if (!caller_reg) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); const svalue *caller_ptr = mgr->get_ptr_svalue (summary_sval->get_type (), @@ -276,7 +268,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) return summary_sval; case SK_SETJMP: - return NULL; // TODO + return nullptr; // TODO case SK_INITIAL: { @@ -290,7 +282,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const region *summary_reg = initial_summary_sval->get_region (); const region *caller_reg = convert_region_from_summary (summary_reg); if (!caller_reg) - return NULL; + return nullptr; const svalue *caller_sval = m_cd.get_model ()->get_store_value (caller_reg, m_cd.get_ctxt ()); return caller_sval; @@ -303,7 +295,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *summary_arg = unaryop_summary_sval->get_arg (); const svalue *caller_arg = convert_svalue_from_summary (summary_arg); if (!caller_arg) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_unaryop (summary_sval->get_type (), unaryop_summary_sval->get_op (), @@ -317,11 +309,11 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *summary_arg0 = binop_summary_sval->get_arg0 (); const svalue *caller_arg0 = convert_svalue_from_summary (summary_arg0); if (!caller_arg0) - return NULL; + return nullptr; const svalue *summary_arg1 = binop_summary_sval->get_arg1 (); const svalue *caller_arg1 = convert_svalue_from_summary (summary_arg1); if (!caller_arg1) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_binop (summary_sval->get_type (), binop_summary_sval->get_op (), @@ -336,10 +328,10 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) region_model_manager *mgr = get_manager (); const svalue *summary_parent_sval = sub_summary_sval->get_parent (); if (!summary_parent_sval) - return NULL; + return nullptr; const region *summary_subregion = sub_summary_sval->get_subregion (); if (!summary_subregion) - return NULL; + return nullptr; return mgr->get_or_create_sub_svalue (summary_sval->get_type (), summary_parent_sval, summary_subregion); @@ -354,13 +346,13 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *caller_outer_size = convert_svalue_from_summary (summary_outer_size); if (!caller_outer_size) - return NULL; + return nullptr; const svalue *summary_inner_sval = repeated_summary_sval->get_inner_svalue (); const svalue *caller_inner_sval = convert_svalue_from_summary (summary_inner_sval); if (!caller_inner_sval) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_repeated_svalue (summary_sval->get_type (), caller_outer_size, @@ -377,7 +369,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *caller_inner_sval = convert_svalue_from_summary (summary_inner_sval); if (!caller_inner_sval) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_bits_within (summary_sval->get_type (), bits, @@ -392,7 +384,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *caller_arg_sval = convert_svalue_from_summary (summary_arg_sval); if (!caller_arg_sval) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_unmergeable (caller_arg_sval); } @@ -408,14 +400,14 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) = convert_svalue_from_summary (summary_base_sval); if (!(caller_base_sval && caller_base_sval->can_have_associated_state_p ())) - return NULL; + return nullptr; const svalue *summary_iter_sval = widening_summary_sval->get_iter_svalue (); const svalue *caller_iter_sval = convert_svalue_from_summary (summary_iter_sval); if (!(caller_iter_sval && caller_iter_sval->can_have_associated_state_p ())) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); return mgr->get_or_create_widening_svalue (summary_iter_sval->get_type (), @@ -499,7 +491,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *caller_input = convert_svalue_from_summary (summary_input); if (!caller_input) - return NULL; + return nullptr; inputs.safe_push (caller_input); } region_model_manager *mgr = get_manager (); @@ -524,7 +516,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) const svalue *caller_input = convert_svalue_from_summary (summary_input); if (!caller_input) - return NULL; + return nullptr; inputs.safe_push (caller_input); } region_model_manager *mgr = get_manager (); @@ -540,7 +532,7 @@ call_summary_replay::convert_svalue_from_summary_1 (const svalue *summary_sval) /* Try to convert SUMMARY_REG in the summary to a corresponding region in the caller, caching the result. - Return NULL if the conversion is not possible. */ + Return nullptr if the conversion is not possible. */ const region * call_summary_replay::convert_region_from_summary (const region *summary_reg) @@ -604,7 +596,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const svalue *caller_ptr_sval = convert_svalue_from_summary (summary_ptr_sval); if (!caller_ptr_sval) - return NULL; + return nullptr; const region *caller_reg = get_caller_model ()->deref_rvalue (caller_ptr_sval, NULL_TREE, @@ -627,7 +619,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) case SSA_NAME: /* We don't care about writes to locals within the summary. */ - return NULL; + return nullptr; case VAR_DECL: /* We don't care about writes to locals within the summary. */ @@ -636,12 +628,12 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) return summary_reg; else /* Otherwise, we don't care about locals. */ - return NULL; + return nullptr; case RESULT_DECL: return m_cd.get_lhs_region (); case PARM_DECL: /* Writes (by value) to parms should be visible to the caller. */ - return NULL; + return nullptr; } } break; @@ -653,7 +645,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; tree field = summary_field_reg->get_field (); return mgr->get_field_region (caller_parent_reg, field); } @@ -666,12 +658,12 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; const svalue *summary_index = summary_element_reg->get_index (); const svalue *caller_index = convert_svalue_from_summary (summary_index); if (!caller_index) - return NULL; + return nullptr; return mgr->get_element_region (caller_parent_reg, summary_reg->get_type (), caller_index); @@ -685,13 +677,13 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; const svalue *summary_byte_offset = summary_offset_reg->get_byte_offset (); const svalue *caller_byte_offset = convert_svalue_from_summary (summary_byte_offset); if (!caller_byte_offset) - return NULL; + return nullptr; return mgr->get_offset_region (caller_parent_reg, summary_reg->get_type (), caller_byte_offset); @@ -705,13 +697,13 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; const svalue *summary_byte_size = summary_sized_reg->get_byte_size_sval (mgr); const svalue *caller_byte_size = convert_svalue_from_summary (summary_byte_size); if (!caller_byte_size) - return NULL; + return nullptr; return mgr->get_sized_region (caller_parent_reg, summary_reg->get_type (), caller_byte_size); @@ -723,7 +715,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; return mgr->get_cast_region (caller_parent_reg, summary_reg->get_type ()); } @@ -739,7 +731,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) } break; case RK_ALLOCA: - return NULL; + return nullptr; case RK_BIT_RANGE: { const bit_range_region *summary_bit_range_reg @@ -748,7 +740,7 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) const region *caller_parent_reg = convert_region_from_summary (summary_parent_reg); if (!caller_parent_reg) - return NULL; + return nullptr; const bit_range &bits = summary_bit_range_reg->get_bits (); return mgr->get_bit_range (caller_parent_reg, summary_reg->get_type (), @@ -756,14 +748,14 @@ call_summary_replay::convert_region_from_summary_1 (const region *summary_reg) } break; case RK_VAR_ARG: - return NULL; + return nullptr; } } /* Try to convert SUMMARY_KEY in the summary to a corresponding binding key in the caller. - Return NULL if the conversion is not possible. */ + Return nullptr if the conversion is not possible. */ const binding_key * call_summary_replay::convert_key_from_summary (const binding_key *summary_key) @@ -775,7 +767,7 @@ call_summary_replay::convert_key_from_summary (const binding_key *summary_key) const region *summary_reg = symbolic_key->get_region (); const region *caller_reg = convert_region_from_summary (summary_reg); if (!caller_reg) - return NULL; + return nullptr; region_model_manager *mgr = get_manager (); store_manager *store_mgr = mgr->get_store_manager (); return store_mgr->get_symbolic_binding (caller_reg); @@ -788,7 +780,7 @@ call_summary_replay::add_svalue_mapping (const svalue *summary_sval, const svalue *caller_sval) { gcc_assert (summary_sval); - // CALLER_SVAL can be NULL + // CALLER_SVAL can be nullptr m_map_svalue_from_summary_to_caller.put (summary_sval, caller_sval); } @@ -799,7 +791,7 @@ call_summary_replay::add_region_mapping (const region *summary_reg, const region *caller_reg) { gcc_assert (summary_reg); - // CALLER_REG can be NULL + // CALLER_REG can be nullptr m_map_region_from_summary_to_caller.put (summary_reg, caller_reg); } @@ -816,7 +808,7 @@ call_summary_replay::dump_to_pp (pretty_printer *pp, bool simple) const pp_newline (pp); pp_string (pp, "CALLEE SUMMARY:"); pp_newline (pp); - m_summary->dump_to_pp (m_ext_state, pp, simple); + m_summary.dump_to_pp (m_ext_state, pp, simple); /* Current state of caller (could be in mid-update). */ pp_newline (pp); |