This was effectively checking for one beyond the limit, rather than
the limit itself.
Seen when fixing PR analyzer/97514.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to master as ea0ae4e77a89d4a0492dcbbc13e9cbc19bcc2361.
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.26.2