GCC Middle and Back End API Reference
|
Static Public Member Functions | |
static bool | same_tree_p (tree t1, tree t2) |
Static Private Member Functions | |
static bool | fedge_uses_conjured_svalue_p (feasible_edge *fedge) |
static bool | expr_uses_conjured_svalue_p (const region_model &model, tree expr) |
Private Attributes | |
const exploded_node * | m_prev_entry_enode |
const exploded_node * | m_new_entry_enode |
tree | m_callee_fndecl |
const checker_event * | m_prev_entry_event |
Detection of infinite recursion. Copyright (C) 2022-2025 Free Software Foundation, Inc. Contributed by David Malcolm <dmalcolm@redhat.com>. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 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/>.
A subclass of pending_diagnostic for complaining about suspected infinite recursion.
|
inline |
References m_callee_fndecl, m_new_entry_enode, m_prev_entry_enode, m_prev_entry_event, and NULL.
Referenced by add_function_entry_event(), and operator==().
|
virtualinherited |
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References gcc_assert, m_callee_fndecl, and m_new_entry_enode.
|
inlinefinaloverridevirtual |
|
virtualinherited |
|
inlinefinaloverridevirtual |
|
inlinevirtualinherited |
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References m_new_entry_enode, m_prev_entry_enode, pp_printf(), and pp_string().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
|
inlineinherited |
References get_kind(), and subclass_equal_p().
|
inlinestaticprivate |
References ana::svalue::accept(), ana::region_model::get_rvalue(), and NULL.
Referenced by fedge_uses_conjured_svalue_p().
|
inlinestaticprivate |
References dyn_cast(), ana::superedge::dyn_cast_cfg_superedge(), expr_uses_conjured_svalue_p(), ana::base_feasible_edge::get_inner_edge(), ana::supernode::get_last_stmt(), ana::feasibility_state::get_model(), ana::feasible_node::get_state(), gimple_cond_lhs(), gimple_cond_rhs(), gimple_switch_index(), dedge< GraphTraits >::m_dest, ana::exploded_edge::m_sedge, and dedge< GraphTraits >::m_src.
Referenced by check_valid_fpath_p().
|
virtualinherited |
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
References final().
|
inlinefinaloverridevirtual |
Implements ana::pending_diagnostic.
References final().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in infinite_loop_diagnostic.
|
inlinefinaloverridevirtual |
Reimplemented from ana::pending_diagnostic.
References m_new_entry_enode, m_prev_entry_enode, PROPERTY_PREFIX, and json::object::set_integer().
|
inline |
References infinite_recursion_diagnostic(), and m_callee_fndecl.
Referenced by ana::call_arg_details::operator==().
|
inlinefinaloverridevirtualinherited |
Implements ana::pending_diagnostic.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
private |
Referenced by add_final_event(), infinite_recursion_diagnostic(), and operator==().
|
private |
|
private |
|
private |
Referenced by add_function_entry_event(), and infinite_recursion_diagnostic().