|  | 
|  | infinite_recursion_diagnostic (const exploded_node *prev_entry_enode, const exploded_node *new_entry_enode, tree callee_fndecl) | 
| const char * | get_kind () const final override | 
| bool | operator== (const infinite_recursion_diagnostic &other) const | 
| int | get_controlling_option () const final override | 
| bool | emit (diagnostic_emission_context &ctxt) final override | 
| bool | describe_final_event (pretty_printer &pp, const evdesc::final_event &) final override | 
| void | add_function_entry_event (const exploded_edge &eedge, checker_path *emission_path) final override | 
| void | add_final_event (const state_machine *, const exploded_node *enode, const event_loc_info &, tree, state_machine::state_t, checker_path *emission_path) final override | 
| bool | check_valid_fpath_p (const feasible_node &final_fnode, const gimple *) const final override | 
| void | maybe_add_sarif_properties (diagnostics::sarif_object &result_obj) const final override | 
| bool | subclass_equal_p (const pending_diagnostic &base_other) const final override | 
| virtual bool | terminate_path_p () const | 
| virtual bool | use_of_uninit_p () const | 
| bool | equal_p (const pending_diagnostic &other) const | 
| virtual location_t | fixup_location (location_t loc, bool primary) const | 
| virtual bool | describe_state_change (pretty_printer &, const evdesc::state_change &) | 
| virtual diagnostics::paths::event::meaning | get_meaning_for_state_change (const evdesc::state_change &) const | 
| virtual bool | describe_call_with_state (pretty_printer &, const evdesc::call_with_state &) | 
| virtual bool | describe_return_of_state (pretty_printer &, const evdesc::return_of_state &) | 
| virtual bool | maybe_add_custom_events_for_superedge (const exploded_edge &, checker_path *) | 
| virtual void | add_call_event (const exploded_edge &, checker_path *) | 
| virtual void | add_region_creation_events (const region *reg, tree capacity, const event_loc_info &loc_info, checker_path &emission_path) | 
| virtual const program_state * | get_final_state () const | 
| virtual bool | supercedes_p (const pending_diagnostic &other) const | 
| virtual void | mark_interesting_stuff (interesting_t *) | 
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.