From ea0ae4e77a89d4a0492dcbbc13e9cbc19bcc2361 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 27 Oct 2020 09:50:24 -0400 Subject: [PATCH] analyzer: fix param "analyzer-max-enodes-per-program-point" This was effectively checking for one beyond the limit, rather than the limit itself. Seen when fixing PR analyzer/97514. gcc/analyzer/ChangeLog: * engine.cc (exploded_graph::get_or_create_node): Fix off-by-one when imposing param_analyzer_max_enodes_per_program_point limit. --- gcc/analyzer/engine.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc index d4c654a3497..be54f0256b7 100644 --- a/gcc/analyzer/engine.cc +++ b/gcc/analyzer/engine.cc @@ -2100,7 +2100,7 @@ exploded_graph::get_or_create_node (const program_point &point, /* Impose a limit on the number of enodes per program point, and simply stop if we exceed it. */ if ((int)per_point_data->m_enodes.length () - > param_analyzer_max_enodes_per_program_point) + >= param_analyzer_max_enodes_per_program_point) { pretty_printer pp; point.print (&pp, format (false)); -- 2.30.2