https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96374
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>: https://gcc.gnu.org/g:44fd4dc0b684e06c6c6d08b3994df23135bf2fbc commit r11-7609-g44fd4dc0b684e06c6c6d08b3994df23135bf2fbc Author: David Malcolm <dmalc...@redhat.com> Date: Wed Mar 10 12:02:07 2021 -0500 analyzer: factor out new class feasibility_state As preparatory work for a fix to PR analyzer/96374, this patch moves the core state-update logic from the loop in exploded_path::feasible_p into a new class feasibility_state. No functional change intended. gcc/analyzer/ChangeLog: PR analyzer/96374 * engine.cc (exploded_path::feasible_p): Move "snodes_visited" and "model" locals into a new class feasibility_state. Move heart of per-edge processing into feasibility_state::maybe_update_for_edge. (feasibility_state::feasibility_state): New. (feasibility_state::maybe_update_for_edge): New, based on loop body in exploded_path::feasible_p. * exploded-graph.h (class feasibility_state): New.