From 25ef215abb1aa701db7ab173b9f2ac653cecf634 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 28 Aug 2020 10:10:38 -0400 Subject: analyzer: eliminate sm_context::warn_for_state in favor of a new 'warn' vfunc This patch is yet more preliminary work towards generalizing sm-malloc.cc beyond just malloc/free. It eliminates sm_context::warn_for_state in terms of a new sm_context::warn vfunc, guarded by sm_context::get_state calls. gcc/analyzer/ChangeLog: * diagnostic-manager.cc (null_assignment_sm_context::warn_for_state): Replace with... (null_assignment_sm_context::warn): ...this. * engine.cc (impl_sm_context::warn_for_state): Replace with... (impl_sm_context::warn): ...this. * sm-file.cc (fileptr_state_machine::on_stmt): Replace warn_for_state and on_transition calls with a get_state test guarding warn and set_next_state calls. * sm-malloc.cc (malloc_state_machine::on_stmt): Likewise. * sm-pattern-test.cc (pattern_test_state_machine::on_condition): Replace warn_for_state call with warn call. * sm-sensitive.cc (sensitive_state_machine::warn_for_any_exposure): Replace warn_for_state call with a get_state test guarding a warn call. * sm-signal.cc (signal_state_machine::on_stmt): Likewise. * sm-taint.cc (taint_state_machine::on_stmt): Replace warn_for_state and on_transition calls with a get_state test guarding warn and set_next_state calls. * sm.h (sm_context::warn_for_state): Replace with... (sm_context::warn): ...this. --- gcc/analyzer/sm-pattern-test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/analyzer/sm-pattern-test.cc') diff --git a/gcc/analyzer/sm-pattern-test.cc b/gcc/analyzer/sm-pattern-test.cc index 6a59e8f..bb6d3b1 100644 --- a/gcc/analyzer/sm-pattern-test.cc +++ b/gcc/analyzer/sm-pattern-test.cc @@ -128,7 +128,7 @@ pattern_test_state_machine::on_condition (sm_context *sm_ctxt, return; pending_diagnostic *diag = new pattern_match (lhs, op, rhs); - sm_ctxt->warn_for_state (node, stmt, lhs, m_start, diag); + sm_ctxt->warn (node, stmt, lhs, diag); } bool -- cgit v1.1