From 5179b720ae815f437c428739f048668d500b95a0 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 26 Mar 2018 00:25:45 +0200 Subject: [PATCH] fixed a bug in the constant merger --- .../java/de/neemann/digital/hdl/model2/MergeConstants.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/de/neemann/digital/hdl/model2/MergeConstants.java b/src/main/java/de/neemann/digital/hdl/model2/MergeConstants.java index d7b3544c8..f9fe1ead8 100644 --- a/src/main/java/de/neemann/digital/hdl/model2/MergeConstants.java +++ b/src/main/java/de/neemann/digital/hdl/model2/MergeConstants.java @@ -39,6 +39,8 @@ public class MergeConstants { final HDLNode node1 = nodes.get(n1); ExprConstant con1 = getConstant(node1); if (con1 != null) { + //modification of loop variable n2 is intended! + //CHECKSTYLE.OFF: ModifiedControlVariable for (int n2 = n1 + 1; n2 < nodes.size(); n2++) { final HDLNode node2 = nodes.get(n2); ExprConstant con2 = getConstant(node2); @@ -46,9 +48,11 @@ public class MergeConstants { if (con1.isEqualTo(con2)) { merge(node1, node2); nodes.remove(n2); + n2--; } } } + //CHECKSTYLE.ON: ModifiedControlVariable } n1++;